int FindRoot(int x) { Access(x); Splay(x); while(son[x][0]) { PushDown(x); x=son[x][0]; } Splay(x); return x; }
这段代码是正确的吗?
如果是正确的,怎么保证 PushDown 以后,左儿子非空?
如果是错误的,为什么能过那么多题,是因为不好卡吗?