怎么今天这么多求助树链剖分的qwq
by Ynoi @ 2019-06-30 19:15:27
@[Miulos](/space/show?uid=76751) 1.线段树4倍空间qwq
by Ynoi @ 2019-06-30 19:18:06
@[Miulos](/space/show?uid=76751)
2.
```
inline void pushdown(int l,int r,int root){
int mid=(l+r)>>1;
ad[L]=(ad[L]+ad[root])%p;
ad[R]=(ad[R]+ad[root])%p;
t[L]=(t[L]+(mid-l+1)*ad[root])%p;
t[R]=(t[R]+(r-mid)*t[root])%p;
ad[root]=0;
return ;
}
```
为啥
```
t[R]=(t[R]+(r-mid)*t[root])%p;
```
是`*t[root]`
不是 `*ad[root]`呢qwq
by Ynoi @ 2019-06-30 19:24:20
3.
```
inline void updata(int x,int y,int k){
while(top[x]!=top[y]){
if(dep[top[x]]<dep[top[y]]){
swap(x,y);
}
add(1,n,1,seg[top[x]],seg[x],k);
x=fa[top[x]];
}
if(dep[top[x]]<dep[top[y]]){
swap(x,y);
}
add(1,n,1,seg[top[x]],seg[x],k);
return ;
}
```
话说x,y跳到同一个链的时候
应该是直接比较 x,y的深度吧
最后也应该是
` add(1,n,1,seg[y],seg[x],k);`
吧
by Ynoi @ 2019-06-30 19:28:46
@[树链剖分](/space/show?uid=124721) [树链剖分](/space/show?uid=124721)的[树链剖分](/space/show?uid=124721)果然好,帮助了好几个谷民。**sro orz**
by gwx123456 @ 2019-06-30 19:49:07
@[Miulos](/space/show?uid=76751)
%%%%%%%%%@[树链剖分](/space/show?uid=124721) 的[[树链剖分](/space/show?uid=124721)](http://iwo.im/?q=%E6%A0%91%E9%93%BE%E5%89%96%E5%88%86)真不错
by Leap_Frog @ 2019-06-30 20:05:40
@[Miulos](/space/show?uid=76751)
%%%%%%%%%@[树链剖分](/space/show?uid=124721) 的[[树链剖分](/space/show?uid=124721)](http://iwo.im/?q=%E6%A0%91%E9%93%BE%E5%89%96%E5%88%86)真不错
by Leap_Frog @ 2019-06-30 20:06:16
@[树链剖分](/space/show?uid=124721) orz
by nofall @ 2019-06-30 20:19:46
# 谢谢大佬!!!谢谢大佬!!!
by Strange_S @ 2019-06-30 20:58:44