动态树最基本的代码操作

LCT树详解

       在这个暑假最先学到的新东西就是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了,只要在根节点进行一次交换操作根就换过来了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值