#C1018. 树的直径

树的直径

树的直径(distance)

题目描述

给定一棵有 nn 个顶点的树,顶点编号为 1,,n1, \ldots, n

定义 dist(u,v)\mathrm{dist}(u, v) 为连接顶点 uuvv 的唯一简单路径上的边数。

定义 diam(l,r)=maxdist(u,v)\mathrm{diam}(l, r) = \max \mathrm{dist}(u, v),其中 u,vu, v 满足 lu,vrl \leq u, v \leq r

请计算 1lrndiam(l,r)\sum_{1 \leq l \leq r \leq n} \mathrm{diam}(l, r)

输入格式

distance.in 输入数据。

第一行包含一个整数 nn,表示树的顶点数。

接下来的 n1n-1 行,每行包含两个整数 u,vu, v,表示树中的一条边。

输出格式

输出数据到 distance.out 里。

输出一个整数,表示答案。

【样例 1 输入】
4
1 2
2 4
3 2
【样例 1 输出】
10
【样例 2 输入】
10
1 8
2 9
5 6
4 8
4 2
7 9
3 6
10 4
3 9
【样例 2 输出】
224
【样例 3】

见选手目录下的 distance/distance3.indistance/distance3.ans

该样例满足测试点 33 的约束。

【样例 4】

见选手目录下的 distance/distance3.indistance/distance3.ans

该样例满足测试点 55 的约束。

【样例 5】

见选手目录下的 distance/distance3.indistance/distance3.ans

该样例满足测试点 88 的约束。

【数据范围】

对于 100100% 的数据,满足 1n1061 \le n \le 10^6,输入的边构成一棵树。

测试点编号 nn \le 特殊性质
11 100100
22 10310^3
33 10510^5 满足树是一条链
44 10610^6
55 10510^5 满足树中任意两个点的路径长度不超过 1010
66 10610^6
77 5×1045\times 10^4
88 10510^5
9,109,10 2×1062\times 10^6