link-cut-tree

本文介绍了一种处理区间操作的问题解决思路,利用链剖分树(Link-Cut Tree)来维护最大生成树,通过具体题目实例展示了算法的应用过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://wenku.baidu.com/view/a611cec4dd3383c4bb4cd2d8.html
http://www.cnblogs.com/candy99/p/6271344.html
http://www.aiuxian.com/article/p-2284697.html
http://www.cnblogs.com/Robert-Yuan/p/5122784.html

注意:
①左父亲右儿子!!每棵splay中的点左子树的深度都比当前点小,右节点的深度都比当前节点的深度大。
题:
xsy1173(YES)
一个朴素的想法就是暴力加入区间中的每一条边。
对于加入的一条边,它可能将两个联通块连起来,也可能没有任何贡献。
定义一个c[],c[x]=1就是有贡献,c[x]=0为没有贡献。
对于没有贡献的情况我们将链中编号最小的边删去,将其在c[]中变为0,强行让当前插入的边有贡献,将其在c[]中变为1。这样一个区间弄出来的就是一棵最大生成树。答案就是n-c[l~r]中有多少个1。
现在将所有询问按右端点排序,扫一遍,用link-cut-tree维护一棵最大生成树就好了。
xsy1025 题解
xsy1663(YES)
xsy1165-I(YES)
xsy1178(NO)
bzoj2555(NO)
bzoj2049(YES)模板
bzoj2631(YES)
bzoj3153(NO!!!)
bzoj3091(YES)
bzoj2002(YES)模板
bzoj1036(YES)模板
bzoj3626(YES)
bzoj2594(YES)最小生成树
bzoj3669(NO)
bzoj4010(NO)
bzoj3282(YES)
bzoj3514(YES)
bzoj2959(YES)
bzoj3669(YES)
bzoj3779(YES)**
zoj3522(NO)
tsinsen1506(NO)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值