void rev(int x, int y){
int p, q, r;
split(x - 1, root, p, q);
split(y, q, q, r);
tree[q].tag ^= 1;
root = merge(merge(p, q), r);
}
void rev(int x, int y){
int p, q, r;
split(y, root, q, r);
split(x - 1, q, p, q);
tree[q].tag ^= 1;
root = merge(merge(p, q), r);
}
为何上方代码错误,下方正确?