随笔分类 - 图论算法-树相关-LCA
摘要:[GDOI2017] 取石子游戏(LCA) 题面 给出一棵树,每个点都有一个权值。对于每个节点,求去掉该节点的子树后,剩下所有节点的权值MEX(最小的没有出现的非负整数。) 分析 用权值线段树合并乱搞显然是可行的,但细节很多且需要卡常。 我们考虑所有权值为的节点对答案的影响。求所有节点的LCA
阅读全文
摘要:[BZOJ 3145]Str(SAM+启发式合并) 题面 Arcueid得知了两者的DNA片段,想寻求一个DNA片段,使得其在两者的DNA中都出现过。我们知道公主的脑袋有点不太灵活,如果两个DNA片段只有一个位置不同,她也会将其认为是相同的。所以请您找出这样的最长的DNA片段吧。 分析 考虑两个串中
阅读全文
摘要:[BZOJ 3123] [SDOI 2013]森林(可持久化线段树+启发式合并) 题面 给出一个n个节点m条边的森林,每个节点都有一个权值。有两种操作: 1. Q x y k查询点x到点y路径上所有的权值中,第k小的权值是多少。此操作保证点x和点y连通,同时这两个节点的路径上至少有k个点。 2. L
阅读全文
摘要:[BZOJ3307] 雨天的尾巴(树上差分+线段树合并) 题面 给出一棵N个点的树,M次操作在链上加上某一种类别的物品,完成所有操作后,要求询问每个点上最多物品的类型。 N, M≤100000 分析 考虑树上差分。对于每条链(x,y),我们在x,y打一个+标记,lca(x,y)和lca(x,y)的父
阅读全文
摘要:[BZOJ 3307]Cow Politics (LCA) 题面 给出一棵N个点的树,树上每个节点都有颜色。对于每种颜色,求该颜色距离最远的两个点之间的距离。N≤200000 分析 显然对于每种颜色建立一棵虚树是可行的。但是有编码复杂度更低的方法。显然某种颜色距离最远的两个点中,一个肯定是这种颜色的
阅读全文
摘要:[51nod 1766]树上的最远点对 (树的直径+ST表求lca+线段树) 题面 给出一棵N个点的树,Q次询问一点编号在区间[l1,r1]内,另一点编号在区间[l2,r2]内的所有点对距离最大值。 分析 看到区间,我们应该想到用线段树维护,区间[l,r]存储编号在[l,r
阅读全文