随笔分类 -  Kruskal 重构树

摘要:洛谷传送门 考虑 \(d = 2\) 的部分分。相当于只用 \(2\) 次操作把 \(T\) 变成一条链。 不妨设最后变成的是一个 \(1 \sim n\) 的链,如果不是可以把点重编号。 第一次操作考虑以 \(n\) 为根,每次取每个儿子的子树中的最大值为新的根并和原来的根连边,这样会将整棵树具有 阅读全文
posted @ 2024-04-10 16:38 zltzlt 阅读(59) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 首先需要知道的一个 trick:判断一个点是否在一个闭合回路内部,从这个点向任意方向引一条射线,若不考虑相切,那么和回路的交点为奇数时这个点在回路内部,否则在外部。 那么这题要判断一个回路是否包含全部的 island,可以找到任意一个 island 向右引一条射线。 给每个 阅读全文
posted @ 2024-01-14 15:08 zltzlt 阅读(69) 评论(0) 推荐(0)
摘要:[洛谷传送门](https://www.luogu.com.cn/problem/CF825G "洛谷传送门") [CF 传送门](https://codeforces.com/problemset/problem/825/G "CF 传送门") 模拟赛赛时做法。 看到查询路径点权最小值,想到建重构 阅读全文
posted @ 2023-08-26 15:38 zltzlt 阅读(22) 评论(0) 推荐(0)
摘要:[洛谷传送门](https://www.luogu.com.cn/problem/CF1648E "洛谷传送门") [CF 传送门](https://codeforces.com/problemset/problem/1648/E "CF 传送门") 被一道题创了三天![](//图.tk/0) 我们 阅读全文
posted @ 2023-07-31 10:18 zltzlt 阅读(56) 评论(0) 推荐(0)
摘要:[洛谷传送门](https://www.luogu.com.cn/problem/AT_abc235_h "洛谷传送门") [AtCoder 传送门](https://atcoder.jp/contests/abc235/tasks/abc235_h "AtCoder 传送门") 为啥洛谷唯一一篇题 阅读全文
posted @ 2023-06-20 22:16 zltzlt 阅读(30) 评论(0) 推荐(0)
摘要:洛谷传送门 AtCoder 传送门 基础图论。 考虑快速求出 $d(s, t)$,那么边权要 $+1$ 的边仅当边权等于 $d(s, t)$ 时答案可能为 $1$。求 $d(s, t)$ 可以建出 Kruskal 重构树,查两点 $\text{LCA}$ 点权得出。 考虑把询问离线,把相同的 $d( 阅读全文
posted @ 2023-05-16 10:43 zltzlt 阅读(67) 评论(0) 推荐(0)
摘要:洛谷传送门 AtCoder 传送门 非常妙的 Kruskal 重构树。 倒序考虑,相当于每次经过一个点必须至少有 $\max(0, a_u - b_u)$ 元,然后获得 $b_u$ 元,并且之后经过这个点都不会再获得钱。令 $c_i = \max(0, a_u - b_u)$,考虑枚举终点 $u$, 阅读全文
posted @ 2023-01-16 10:06 zltzlt 阅读(39) 评论(0) 推荐(0)
摘要:洛谷传送门 思路 考虑按边权从小到大和从大到小排序,建两棵 $\mathrm{Kruskal}$ 重构树。根据 $\min$ 和 $\max$ 倍增到相应的祖先结点,问题就转化成了两棵子树交。记 $a,b$ 分别为两棵树的 $\mathrm{dfs}$ 序,则问题为满足 $i \in [l_1,r_ 阅读全文
posted @ 2022-07-28 21:16 zltzlt 阅读(51) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 思路 路径最值想到 $\mathrm{Kruskal}$ 重构树,则求最大权值就是求 $\mathrm{LCA}$ 的点权。 多个点的 $\mathrm{LCA}$ 就是 $\mathrm{dfs}$ 序最小和 $\mathrm{dfs}$ 序最大的点的 $\mathrm{ 阅读全文
posted @ 2022-07-28 21:08 zltzlt 阅读(37) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 思路 考虑离线,按时间倒序进行操作,删边变成加边。 然而若按时间倒序进行操作,就不知道哪些点已经 $p_u = 0$ 了。. 可以按加边的顺序建出 $\mathrm{Kruskal}$ 重构树。则可以倍增找到在 $t$ 时刻连通的祖先,它的所有叶子子结点即为在 $t$ 时刻 阅读全文
posted @ 2022-07-28 21:04 zltzlt 阅读(45) 评论(0) 推荐(0)
摘要:Kruskal 重构树 回忆 $\mathrm{Kruskal}$ 算法求最小生成树的过程,将所有边按边权排序,然后从小到大合并。若两个点不直接合并,而是新建一个虚点 $z$,连 $z \to x$ 和 $z \to y$,就形成了一棵 $\mathrm{Kruskal}$ 重构树 。 $\math 阅读全文
posted @ 2022-07-28 20:55 zltzlt 阅读(64) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 思路 考虑将每条边的编号作为边权,然后建 $\mathrm{Kruskal}$ 重构树。 那么每个询问的答案即为 $\mathrm{LCA}(l,l+1,...,r-1,r)$。 有一个经典套路,就是多个点的 $\mathrm{LCA}$ 就是 $\mathrm{dfs}$ 阅读全文
posted @ 2022-07-28 20:55 zltzlt 阅读(38) 评论(0) 推荐(0)