void update1(int node,int L,int R,int l,int r)
{
if(L>r||R<l) return ;
if(L==R)
{
t[node].sum ^= 1;
return ;
}
int mid = L+R>>1;
update1(node_l,L,mid,l,r);
update1(node_r,mid+1,R,l,r);
t[node].sum = t[node_l].sum+t[node_r].sum;
}
这样写update,前4个点AC,后面的全部超时,为啥啊
void update1(int node,int L,int R,int x)
{
if(L==R)
{
t[node].sum ^= 1;
return ;
}
int mid = L+R>>1;
if(x<=mid) update1(node_l,L,mid,x);
else update1(node_r,mid+1,R,x);
t[node].sum = t[node_l].sum+t[node_r].sum;
}
但是这样写就不超时了,AC了,看不出来啊