1
void rotate(int u){
int y=tr[u].p,z=tr[y].p;
int k=tr[y].s[1]==u;
tr[z].s[tr[z].s[1]==y]=u,tr[u].p=z;
tr[y].s[k]=tr[u].s[k^1],tr[tr[u].s[k^1]].p=y;
tr[u].s[k^1]=y,tr[y].p=u;
pushup(y),pushup(u);
}
2
void rotate(int u){
int y=tr[u].p,z=tr[y].p;
int k=tr[y].s[1]==u;
tr[z].s[tr[z].s[1]==y]=u,tr[u].p=z;
tr[y].s[k]=tr[u].s[k^1],tr[tr[u].s[k^1]].p=y;
tr[u].s[k^1]=y,tr[y].p=u;
pushup(u),pushup(y);
}
为什么第一个代码先上传y在上传u可以通过,但是先上传u,在上传y会RE呢