```
if(lazy[k]){
lazy[k<<1]+=lazy[k];
lazy[k<<1|1]+=lazy[k];
t[k<<1]+=lazy[k]*(m-(m>>1));
t[k<<1|1]+=lazy[k]*(m>>1);
lazy[k]=0;
}
```
pushdown要加上这个叭....
by LZMkingNB @ 2023-08-12 18:33:05
@[LZMkingNB](/user/411572) $m=r-l+1$
by LZMkingNB @ 2023-08-12 18:33:28
还有
```
void updata2(int L,int R,int v,int l,int r,int k){//区间修改
if(L<=l&&r<=R){
lazy[k]+=v,t[k]+=v;
}
else{
pushdown(k);
int m=l+((r-l)>>1);
if(L<=m){
updata2(L,R,v,l,m,k<<1);
}
if(R>m){
updata2(L,R,v,m+1,r,k<<1|1);
}
pushup(k);
}
```
if(L<=l&&r<=R)这个里面t[k]要加上v*(r-l+1).
~~还有不开longlong见祖宗~~
by LZMkingNB @ 2023-08-12 18:36:57
@[LZMkingNB](/user/411572) 谢谢,已经A了
by _Eternally_ @ 2023-08-12 18:42:42