void rotate(int x){
int y=fa[x];
int z=fa[y];
int chk=get(x);
ch[y][chk]=ch[x][chk^1];
if(ch[x][chk^1])fa[ch[x][chk^1]]=y;
ch[x][chk^1]=y;
fa[y]=x;
fa[x]=z;
if(z)ch[z][y==ch[z][1]]=x;
maintain(y);
maintain(x);
return;
}
芝士旋转操作,把两个if删掉就会狠狠TLE,不知道为什么
只删掉上面的过掉了。