随笔分类 - 点分治/点分树
摘要:洛谷传送门 考虑 的部分分。相当于只用 次操作把 变成一条链。 不妨设最后变成的是一个 的链,如果不是可以把点重编号。 第一次操作考虑以 为根,每次取每个儿子的子树中的最大值为新的根并和原来的根连边,这样会将整棵树具有
阅读全文
摘要:洛谷传送门 CF 传送门 比较谔谔,为什么题解区都在群魔乱舞。不是有个很简单的点分树做法吗。 考虑建出点分树,由点分树的性质可得任意两点在点分树上的 LCA 一定在它们的路径上。然后每次暴力跳父亲,每个分治中心维护一个 表示距离 最近的红色点的距离即可。 若使用 dfn
阅读全文
摘要:洛谷传送门 转化一下题意,变成求 在只经过编号 的点,能走到多少种颜色。 考虑建出点分树。一个结论是原树上的一个连通块,一定存在一个点,使得它在点分树上的子树完全包含这个连通块的所有点。证明考虑点分治的过程,一个连通块如果没被其中一个点剖开就一定在同一个子树
阅读全文
摘要:洛谷传送门 类比 P9062 [Ynoi2002] Adaptive Hsearch&Lsearch 处理区间最近点对的思路,尝试只保留可能有贡献的点对。 处理树上路径容易想到点分治。设点 到分治中心的距离为 。我们有 \(\text{dis}(u, v) \le a_u
阅读全文
摘要:洛谷传送门 POJ 传送门 一眼点分治。 当递归到结点 时,计算出子结点 的子树内,所有结点和 的距离。然后与之前的合并并计算答案即可。使用树状数组,时间复杂度 ,空间复杂度 。 code /* p_b_p_b tx
阅读全文
摘要:点分治是一种处理树上路径相关问题的好方法。 先来一道题:洛谷 P3806 【模板】点分治1 暴力枚举显然是是 ,考虑使用点分治。 对于任意两点的路径,显然只有两种: 经过根结点 不经过根结点 对于情况 的路径长度是很好算的,$\mathrm{dis
阅读全文