否则,考虑 u 根链 1\rightsquigarrow \text{fa}_u 上的一个点 p 作为 \text{LCA}(u,v),则 v 必须在 p 子树内且不在 p 在 1\rightsquigarrow u 路径上的子节点 \text{son}_p 的子树中。此时只需要求这个区域内 \text{dep}_v-2\text{dep}_p 的最小值。
考虑重剖,则 1\rightsquigarrow u 上只有 \mathcal{O}(\log n) 条轻边。则对于路径上这些边没有覆盖的点 p,\text{son}_p 都是 p 的重儿子。记 f_p 表示在 p 子树中且不在 p 重儿子子树中的黑点 v 的 \text{dep}_v-2\text{dep}_p 的最小值。那么对于根链上的每一条重链,她有一部分贡献就是除去底端的一段前缀,在 \text{dfn} 序上也是一段区间。
对于重链底端的点,只有 \mathcal{O}(\log n) 个,并且一定是一条重链顶端的父亲 \text{fa}。那么对于每一条重链,计算在她顶端的父亲子树中且不在她顶端子树中的区域内的黑点 v 的 \text{dep}_v 的最小值。贡献就是 \text{dep}_u+\text{dep}_v-2\text{dep}_{\text{fa}}。