随笔分类 -  树--link cut tree

摘要:http://uoj.ac/problem/207 (题目链接) 题意 给出一棵无根树,4种操作:在路径集合中加入一条路径,在路径集合中删除一条路径,删一条边加一条边,查询一条边是否被集合中所有路径经过。 Solution 将路径端点同时异或上一个值,那么如果一条路径被经过,那么它的子树中点的异或和 阅读全文
posted @ 2017-04-06 20:28 MashiroSky 阅读(656) 评论(4) 推荐(2)
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3514 (题目链接) 题意 给出$n$个点$m$条边的无向图,询问保留图中编号在$[l,r]$的边的时候图中的连通块的个数。 Solution 将边的编号作为权值用LCT维护一个最大生成树,同时记录一下 阅读全文
posted @ 2017-03-01 15:09 MashiroSky 阅读(410) 评论(1) 推荐(1)
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3091 (题目链接) 题意 给出一棵无根树,维护四个操作。link,cut,路径加法,路径期望查询。 Solution 右转题解→_→:PoPoQQQ 对于无法直接维护的值,我们可以考虑做差,或者是用别 阅读全文
posted @ 2017-02-28 15:40 MashiroSky 阅读(268) 评论(0) 推荐(0)
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2555 (题目链接) 题意 给出一个初始串,维护两个操作。在原串后面加入一个字符串;询问某个字符串在原串中出现的次数。强制在线。 Solution 对于加入操作,我们动态构造后缀自动机,每次就将添加的节 阅读全文
posted @ 2017-02-11 20:30 MashiroSky 阅读(199) 评论(0) 推荐(0)
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2594 (题目链接) 题意 给出一个带边权的无向简单,要求维护两个操作,删除${u,v}$之间的连边;求${u,v}$之间某条路径使路径上的权值最大边最小。 Solution 我们把询问倒过来做,于是删 阅读全文
posted @ 2017-02-10 10:35 MashiroSky 阅读(180) 评论(0) 推荐(0)
摘要:http://uoj.ac/problem/3 (题目链接) 题意 给出一张带权图,每条边有两个权值A和B,一条路径的花费为路径中的最大的A和最大的B之和。求从1走到n的最小花费。 Solution 枚举A,SPFA松弛。 不得不说UOJ的hack还是很强力的,仔细想了想,数据好像也并不是特别难构。 阅读全文
posted @ 2017-02-08 15:02 MashiroSky 阅读(324) 评论(0) 推荐(0)
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2002 (题目链接) 题意 数轴上${n}$个点,每个点有一个权值${a_i}$,如果到达这个点,接下来会到达第${i+a_i}$个点。2个操作,修改某个权值,查询从一个点出发要经过多少点才能离开序列。 阅读全文
posted @ 2017-02-08 11:19 MashiroSky 阅读(217) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4010 (题目链接) 题意 link cut tree板子 Solution link cut tree 细节 注意第二个询问切的是什么 代码 阅读全文
posted @ 2017-02-08 08:51 MashiroSky 阅读(142) 评论(0) 推荐(0)