#P17395. [ICPC 2018 Shenyang R] Diameter of a Tree
[ICPC 2018 Shenyang R] Diameter of a Tree
题目描述
给定一棵带权树 ,我们将其直径定义为树上两顶点之间最长路径的长度,其中一条路径的长度等于该路径上所有边的权重之和。
如果这棵树像蜘蛛一样伸展,或者像打哈欠的老虎一样舒展,它的直径也会随之变化。我们用 表示经过 秒后树的状态,此时每条边的权重相比于 都恰好增加了 个单位。
你将会面对若干不同的查询,对每次查询,你都需要计算在某个指定时刻这棵树的直径。
输入格式
输入包含多组测试数据,第一行包含一个正整数 ,表示测试数据的组数,最多不超过 。
对于每组测试数据,第一行包含两个整数 和 ,分别表示树中顶点的个数和给定查询的个数,满足 ,。
接下来的 行,每行包含三个整数 和 ,表示原树中连接第 个顶点和第 个顶点的一条权重为 的边,满足 ,,。
接下来的 行,每行描述一个查询,包含一个整数 ,要求你计算树 的直径,满足 。
我们保证所有测试数据中 的总和不超过 , 的总和也不超过 。
输出格式
对于每组测试数据,首先输出一行包含 “Case #x:”(不含引号),其中 是测试数据的编号,从 开始。
然后输出 行与所有查询对应,其中第 行包含一个整数,表示对第 个查询的答案。
2
3 3
1 2 1
1 3 5
5
10
100
5 6
1 2 100
2 3 5
2 4 1
4 5 1
0
1
2
3
4
5
Case #1:
16
26
206
Case #2:
105
107
109
111
114
117
提示
在第二个样例中:
- 的直径为 ,是路径 的长度;
- 的直径为 ,是路径 的长度。
翻译由 DeepSeek V4 Pro 完成