在这个暑假最先学到的新东西就是LCT了,但是现在只能解决LCT链上的问题,但是感觉已经够了
关键操作access(u)
代码
Void access(v)
{
U=v;v=dull;
While(u!=0)
{
Splay(u);
Pafa[Tr[u].c[1]]=u; tr[tr[u].c[1]].fa =0;
Tr[u].c[1]=v; tr[v].fa=u; pafa[v]=0;
Matain(u);
V=u;u=pafa[u];
}
}
值得注意的是join(u,w)的时候,u一定要是那棵树的根,而且splay数的根,就是access(u),换根,splay(u),就满足了
换根u,只要access(u),那么splay树最左边的就是原本根,最右边就是u了,只要在根节点进行一次交换操作根就换过来了