#P10238. [yLCPC2024] F. PANDORA PARADOXXX
[yLCPC2024] F. PANDORA PARADOXXX
题目背景
扶苏所在的城市的机厅联合举办了 KING of PerforPandora!
但是因为大雪封路,有些机厅不能到达。她想知道在能互相到达的机厅中距离最远为多少。
题目描述
给定一棵 个结点的树。一棵树被定义为一个有 个点和 条边的无向连通图。这棵树的边有边权。两点 间的距离 定义为从 到 的简单路径边权和。可以证明树上两点间的简单路径是唯一的。特别的,我们规定 。
现在有 次操作,每次会删除这棵树上的一条边。显然在做出至少一次操作后,这棵树会被分成若干个连通块。你需要在每次操作后都求出每个连通块内距离最远的两个点的距离的最大值。
形式化的,每次操作后,你要求出
$$\max\limits_{c \in C}\{\max\limits_{u, v \in c} \mathrm{dist}(u,v)\} $$其中 表示当前所有连通块构成的集合。
输入格式
本题单个测试点内有多组测试数据。第一行是一个正整数 ,表示数据组数。对每组数据:
输入第一行是两个整数 (),依次表示树的结点数和操作数。
接下来 行,每行三个整数 (,)表示树上有一条连接 和 的权值为 的边。
接下来 行,每行一个整数 (),表示这次操作删除了输入的第 条边。数据保证每条边只会被删除一次。
数据保证单个测试点内的 之和不超过 。
输出格式
对每组数据,输出 行,每行一个整数,依次表示每次操作后所求的答案。
2
4 2
1 2 1
2 3 2
3 4 3
2
3
12 2
1 2 1
2 3 1
1 4 3
2 5 4
5 6 3
5 7 2
7 8 1
8 9 1
9 10 1
7 11 5
8 12 3
4
6
3
1
10
9
提示
提示
请注意大量的数据读入和输出对程序效率造成的影响,选择合适的读入输出方式,不要频繁刷新输出缓冲区,避免超时。