#S1589. 树拆了重建

    ID: 23 传统题 文件IO:build 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>附标S14DP树形DPG11294

树拆了重建

题目描述

文景的手上有一棵 NN 个结点的树,结点编号为 11NN

结点 xx 和结点 yy 之间的距离定义为连接两结点所需经过的最短边数。

文景决定拆除一条边,并新建另一条边,使得存在两结点之间的最远距离最大化。

请计算新建边后,距离最大的两结点间的距离。

输入格式

  • 第一行包含一个整数 NN
  • 接下来的 N1N-1 行,每行包含两个整数 uuvv,表示结点 uuvv 之间有一条双向边。

输出格式

输出一个整数,表示新建边后距离最大的两结点间的距离。

样例 1

4
1 2
1 3
3 4
3

样例 2

6
1 2
2 3
2 5
4 5
5 6
5

【样例解释】

对于样例 11,最远距离无法增加,仍然为 33

对于样例 22,可以拆除边 252-5,新建边 343-4,最远路径为 1234561-2-3-4-5-6,其长度为 55

【数据范围】

  • 2N300,0002 \leq N \leq 300,000
  • 1u,vN1 \leq u, v \leq N
子任务编号 分值 额外限制条件
11 55 N10N \leq 10
22 1010 N100N \leq 100
33 1515 N3000N \leq 3000
44 N300,000N \leq 300,000,至多一个城市连接至少 33 条公路
55 5555 无额外限制

ex_build1.inex_build1.outex_build2.inex_build2.outex_build3.inex_build3.out