已经自闭了,当局者迷,旁观者清,烦请各位巨佬看一看
by shitbro @ 2020-06-17 11:01:05
我不会
by _OJF_ @ 2020-06-17 11:02:31
@[_Daybreak](/user/90972) 你看 `spread` 这么写就很小清新
```cpp
int sz[N], ch[N][2];
// size 儿子
li s[N], mt[N], at[N];
// sum 乘tag 加tag
inline void ud(int x) {
s[x]=(s[ch[x][0]]+s[ch[x][1]])%p;
}
inline void ml(int x, li k) {
s[x] = s[x]*k%p, mt[x]=mt[x]*k%p, at[x]=at[x]*k%p;
}
inline void ad(int x, li k) {
s[x] = (s[x]+k*sz[x]%p)%p, at[x]=(at[x]+k)%p;
}
inline void ps(int x) {
if(mt[x]!=1) {
ml(ch[x][0], mt[x]);
ml(ch[x][1], mt[x]);
mt[x]=1ll;
}
if(at[x]!=0) {
ad(ch[x][0], at[x]);
ad(ch[x][1], at[x]);
at[x]=0ll;
}
}
```
by xwmwr @ 2020-06-17 11:20:55
@[水比田昭寿](/user/118498) 所以我spread错了吗
by shitbro @ 2020-06-17 15:05:20
@[_Daybreak](/user/90972) 只是我认为你 `spread` 比较难调
by xwmwr @ 2020-06-17 15:06:17