点权公式:
sum(x)+sum(y)-sum(LCA)-sum(father[LCA])
或者sum(x)+sum(y)-2*sum(LCA) 然后把LCA这个点的信息加上即可
sum(x) 表示从根节点到x上所有点统计了一遍
sum(y)表示从根节点到y上所有点统计了一遍
这样的话,从根节点到LCA上每个点都计算了两次,而从LCA到x,LCA到y上的点都计算了一次
那么我们要的结果是从x到y上所有点都计算了一次。所以减去sum(LCA) ,操作之后从根节点到LCA上的点(不包括LCA)计算了两次,所以减去sum(father[LCA])即可
边权公式:
sum(x)+sum(y)-2*sum(LCA)
从根走到x加上从根走到y等于从x走到y加上两倍的从根走到LCA
所以减去二倍LCA即可