警示后人——如果你用树状数组+差分做区间*(修改+查询)

P3372 【模板】线段树 1

LAICZ @ 2023-07-18 14:09:50

那么你表示i倍差分的树状数组在修改时要记得乘上正确的系数:

int op,x,y,k;
cin>>op>>x>>y;
if(op == 1){
cin>>k;
d.add(x,k);
d.add(y + 1,-k);
d1.add(x,k * x);
d1.add(y + 1,-k * (y + 1));

尤其注意是x还是y+1,是正的还是负的,不然你就会···10pts


|