结论题.
以 $1$ 为根,预处理出每个点的深度 $dep$ .
对于一条限制 $(a,b,d)$ ,满足限制的点中,深度最小的点一定在 $a,b$ 的 $lca$ 到根的路径上.
设这个点为 $x$ ,则 $x$ 需要满足 $dep_a+dep_b-2dep_x\le d$ ,可得 $dep_x\ge \lceil \frac{dep_a+dep_b-d}{2} \rceil$ .
考虑所有的 $m$ 条限制,可得 $dep_x\ge \max \lceil \frac{dep_a+dep_b-d}{2} \rceil$ .
记点 $p$ 为所有 $m$ 条限制中, $\lceil \frac{dep_a+dep_b-d}{2} \rceil$ 最大的那条限制对应的点 $x$ .
有结论,若 $p$ 点不能满足所有限制,则一定无解.于是判断 $p$ 是否合法即可.
1 | //%std |