随笔分类 - 树上操作
摘要:$Description$ "题面" 题意是给你一颗$n$个节点的树和$k(k\leq 20)$,每条边权是$1$,告诉你$n$个点的点权,输出到点$i$距离$\leq k$的所有点的点权和 $Solution$ 感觉很不可做,一开始考虑维护距离为$k$的点,然后跟着当前点往一个方向走,发现根本没法
阅读全文
摘要:$Description$ "题面" 给你一颗有根树,你只能增加一条边的边权,最后需要使得根到每个叶子节点的距离相等 $Solution$ 一道有点贪心意味的$DP$题,假设一开始根节点到叶子节点的最远距离为$d$,考虑到只能加边权不能减边权, 显然最终根节点到所有叶子节点的距离$d2$一定等于$d
阅读全文
摘要:树的直径 树的直径,是指树上最长的一条链。 求树的直径有两种方法 $1.DP$:$d1[u]$表示$u$到达子树中叶子节点的最长链,$d2[u]$表示$u$到达子树中叶子节点的次长链,两条链不能有交集,只需要对每个节点做以下更新同时维护最大值最小值即可 这样维护保证了不会出现交集,不用$d2[ev]
阅读全文
摘要:$Description$ "题面" 给你一颗树,有两种操作,一种是将一条链都染成一种颜色,一种是询问一条链的 颜色段个数 比如$1122211$共有三段 $Solution$ 线段树可支持的操作一定有区间可合并性 这道题难点设计三个地方的合并 明显树链剖分,但是线段树怎么维护呢,注意到两个区间合并
阅读全文
摘要:$Description$ "题面" 给你一颗$n$个节点带权的树,告诉你有$m$个军队以及他们驻扎的节点,军队经过一条边的时间是这条边的权值,要求移动军队(所有军队可以同时移动,可以重合),使得每一条从根到叶子结点上都有军队驻扎,根节点不能驻扎军队,叶子结点可以驻扎军队。求完成部署的最短时间是多少
阅读全文
摘要:$Description$ "题面" 给你一颗$n$个节点带权的树以及$m$条路径端点,你可以将一条边的权值设为$0$,要求使得操作后$m$条路径中的最长路径最短 这道题有很多解法,我在复习一种算法后更新一种 $Solution1$ 二分+贪心+$LCA$+树上差分 这道题显然不是裸的树上差分,但需
阅读全文
摘要:$Description$ "题面" 给你一张$n$个节点的树和一个遍历的顺序,必须按照顺序走,求每个点被经过多少次,最后到达的点不计算次数 $Solution$ 树上差分的裸题,只需要做点差分就行了。 对于路径上相邻两点做点差分会发现有的点被统计两次,所以对于第$2 (n 1)$个经过的点标记一下
阅读全文
摘要:$Description$ 有一颗$n$个节点的树,给你两条路径各自的端点$a b、c d$,询问这两条路径是否有公共点 $Solution$ 判断树上两条路径有无公共点:求$LCA$ 若两条路径有公共点,那么到达公共点可以选择顺着链往上走或者往下拐进另一颗子树。 进一步说, 向上走的路只有一条,两
阅读全文

浙公网安备 33010602011771号