随笔分类 - ACM_树链剖分
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5458 给你n个点,m条边,q个操作,操作1是删边,操作2是问u到v之间的割边有多少条。 这题要倒着做才容易,倒着加边。 因为这题最后保证所有的点一定连通,所以可以构建一棵树,树链剖分一下。要是u到v之间
阅读全文
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2243 树链剖分的点剖分+线段树。漏了一个小地方,调了一下午...... 还是要细心啊! 结构体里lc表示这个区间的最左端的颜色,rc表示这个区间的最右端的颜色,sum表示这个区间的颜色段数目
阅读全文
摘要:题目链接:http://codeforces.com/contest/609/problem/E 给你n个点,m条边。 问枚举每条边,问你加这条边的前提下组成生成树的权值最小的树的权值和是多少。 先求出最小生成树,树链剖分一下最小生成树。然后枚举m条边中的每条边,要是这条边是最小生成树的其中一边,则
阅读全文
摘要:题目链接:http://poj.org/problem?id=3237 一棵有边权的树,有3种操作。 树链剖分+线段树lazy标记。lazy为0表示没更新区间或者区间更新了2的倍数次,1表示为更新,每次更新异或1就可以。 熟悉线段树成段更新就很简单了,最初姿势不对一直wa,还是没有彻底理解lazy标
阅读全文
摘要:题目链接:http://poj.org/problem?id=2763 n个节点的树上知道了每条边权,然后有两种操作:0操作是输出 当前节点到 x节点的最短距离,并移动到 x 节点位置;1操作是第i条边的边权变成x。 树链边权剖分的模版题,修改单边权和求和。
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3966 树链剖分的模版,成段更新单点查询。熟悉线段树的成段更新的话就小case啦。
阅读全文
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1036 树链剖分模版题,打的时候注意点就行。做这题的时候,真的傻了,单词拼错检查了一个多小时... 代码如下:
阅读全文
摘要:题目链接:http://acm.fzu.edu.cn/problem.php?pid=2082 树链剖分模版题,求和,修改单边权。
阅读全文
摘要:题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=28982#problem/I 给你一棵有边权的树,有两个操作:一个操作是输出l到r点之间的最大的边权,另一个操作是修改某条边的权值。 这题是树链剖分的简单模版题,代码如下:
阅读全文
摘要:我学的学习资料:http://blog.sina.com.cn/s/blog_6974c8b20100zc61.html 和 ppt 树链剖分可以解决很多问题,辅助一些线段树之类的数据结构可以解决一些树上修改的问题。还可以求LCA,不过复杂度比RMQ实现的LCA多一个log。 下面是树链剖分实现的L
阅读全文