随笔分类 -  图论算法-树相关-LCA

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

点击右上角即可分享
微信分享提示