问题 4851 --4.树上距离

4851: 4.树上距离

题目描述

  给出一棵有 $N$ 个节点,以 $1$ 为根的有根树。
定义树上两个节点 $x$ 和 $y$ 的距离函数 $d$:
$d(x,y)=Dist(x,z)+Dist(y,z)$
其中 $z$ 为 $x$ 和 $y$ 的最近公共祖先,$Dist(a,b)$ 为 $a$ 到 $b$ 路径上边数 $m$ 的二进制下 $1$ 的个数。 求树上每对节点的 $d$ 值之和,即
$\sum\limits_{i=1}^{n}{\sum\limits_{j=i+1}^{n}{d(i,j)}}$

输入

第一行为一个正整数 $N$。
接下来 $N-1$ 行,每行两个正整数 $A_i,B_i$,表示一条树边连接 $A_i$ 和 $B_i$。

输出

仅一行,为一个整数,表示答案。

样例输入输出

输入#1 复制
4
1 2
1 3
2 4
输出#1 复制
8

提示

【样例解释】
  $d(1,2)=1,d(1,3)=1,d(1,4)=1,d(2,3)=2,d(2,4)=1,d(3,4)=2$故答案为8 。

对于 $30\%$ 的数据,满足 $ N \leq 100$;
对于 $60\%$ 的数据,满足 $ N \leq 2000$;
对于 $100\%$ 的数据,满足 $ 1 \leq N \leq 10^5$ 。

序号 标题 作者 发表时间 费用 订购数 操作