void Add(int x,int l,int r,int add)
{
if(node[x].l >= l && node[x].r <= r)
{
node[x].lz += add;
node[x].sum += (node[x].r - node[x].l +1 ) * add;
rtn;
}
//PushDown(x);
if(node[lc(x)].r >= l)Add(lc(x),l,r,add);
if(node[rc(x)].l <= r)Add(rc(x),l,r,add);
//PushDown(x);
PushUp(x);
}
其中,PushDown
函数到底放在哪里才正确啊?或者可以不放?/kk