树剖+差分求助

P6869 [COCI2019-2020#5] Putovanje

```cpp inline void move(int x,int y){//移动 while(tp[x]!=tp[y]){ //if(dep[x]<dep[y]) swap(x,y); if(dep[top[x]]<dep[top[y]]) swap(x,y); tim[dfn[tp[x]]]++,tim[dfn[x]+1]--; x=f[tp[x]]; } if(x==y) return; if(dep[x]>dep[y]) swap(x,y); tim[dfn[x]+1]++,tim[dfn[y]+1]--; } ``` 很久不打树剖很可能导致的错误…… 此贴结。
by SamHH0912 @ 2024-04-27 12:24:24


|