还有哪里不对

P3372 【模板】线段树 1

``` 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


|