??? note " 例题 [luogu P3806 【模板】点分治1](https://www.luogu.org/problemnew/show/P3806)"
-给定一棵有 $n$ 个点的带点权树,$m$ 次询问,每次询问给出 $k$ ,询问树上距离为 $k$ 的点对是否存在。
-
-$n\le 10000,m\le 100,k\le 10000000$
+ 给定一棵有 $n$ 个点的带点权树,$m$ 次询问,每次询问给出 $k$ ,询问树上距离为 $k$ 的点对是否存在。
+
+ $n\le 10000,m\le 100,k\le 10000000$
我们先随意选择一个节点作为根节点 $rt$ ,所有完全位于其子树中的路径可以分为两种,一种是经过当前根节点的路径,一种是不经过当前根节点的路径。对于经过当前根节点的路径,又可以分为两种,一种是以根节点为一个端点的路径,另一种是两个端点都不为根节点的路径。而后者又可以由两条属于前者链合并得到。所以,对于枚举的根节点 $rt$ ,我们先计算在其子树中且经过该节点的路径对答案的贡献,再递归其子树对不经过该节点的路径进行求解。
??? note " 例题 [luogu P4178 Tree](https://www.luogu.org/problemnew/show/P4178)"
-给定一棵有 $n$ 个点的带权树,给出 $k$ ,询问树上距离为 $k$ 的点对数量。
-
-$n\le 40000,k\le 20000,w_i\le 1000$
+ 给定一棵有 $n$ 个点的带权树,给出 $k$ ,询问树上距离为 $k$ 的点对数量。
+
+ $n\le 40000,k\le 20000,w_i\le 1000$
由于这里查询的是树上距离为 $[0,k]$ 的点对数量,所以我们用线段树来支持维护和查询。