0. 点分治的用途
点分治可以解决树上的关于路径的问题,例如 洛谷P4178 Tree。(题目大意:给定一棵 \(n\) 个节点的树,每条边有边权,求出树上两点距离小于等于 \(k\) 的点对数量)这道题如果使用 \(O(n^2)\) 的暴力算法 显然 会T飞 ,然而之后您就会看到,点分治算法可以在 \(O(n\log^2 n)\) 的时间复杂度内解决它。
1.思想
顾名思义,点分治使用了分治的思想,把原问题拆分成若干个子问题,分别求解后再合并。把大象装进冰箱里需要几步?
1.1. 分
注意到如果指定一个节点为根节点,那么一个路径有可能有以下两个来源:
1.路径经过根节点;
2.