int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++){
adde(i);
root=merge(root,i);
}
for(int i=1,x,y;i<=m;i++){
scanf("%d%d",&x,&y);
split(root,y,l,r);
split(l,x-1,l,p);
tree[p].lazy^=1;
root=merge(merge(l,p),r);
}
print(root);
return 0;
}
上截题解
for(int i=1,x,y;i<=m;i++){
scanf("%d%d",&x,&y);
split(root,y,l,r);
split(l,x-1,l,p);
tree[p].lazy^=1;
这个l,r不是没有赋值吗 怎么直接操作呢???