luogu#P10238. [yLCPC2024] F. PANDORA PARADOXXX

    ID: 14198 远端评测题 1000ms 512MiB 尝试: 4 已通过: 0 难度: 5 上传者: 标签>洛谷原创最近公共祖先,LCA洛谷月赛

[yLCPC2024] F. PANDORA PARADOXXX

题目背景

扶苏所在的城市的机厅联合举办了 KING of PerforPandora!

但是因为大雪封路,有些机厅不能到达。她想知道在能互相到达的机厅中距离最远为多少。

题目描述

给定一棵 nn 个结点的树。一棵树被定义为一个有 nn 个点和 n1n-1 条边的无向连通图。这棵树的边有边权。两点 u,vu,v 间的距离 dist(u,v)\mathrm{dist}(u,v) 定义为从 uuvv 的简单路径边权和。可以证明树上两点间的简单路径是唯一的。特别的,我们规定 dist(u,u)=0\mathrm{dist}(u, u) = 0

现在有 qq 次操作,每次会删除这棵树上的一条边。显然在做出至少一次操作后,这棵树会被分成若干个连通块。你需要在每次操作后都求出每个连通块内距离最远的两个点的距离的最大值。

形式化的,每次操作后,你要求出

$$\max\limits_{c \in C}\{\max\limits_{u, v \in c} \mathrm{dist}(u,v)\} $$

其中 CC 表示当前所有连通块构成的集合。

输入格式

本题单个测试点内有多组测试数据。第一行是一个正整数 TT,表示数据组数。对每组数据:

输入第一行是两个整数 n,qn, q1q<n1051 \leq q < n \leq 10^5),依次表示树的结点数和操作数。
接下来 n1n - 1 行,每行三个整数 u,v,wu,v,w1u,vn1 \leq u, v \leq n1w1051 \leq w \leq 10^5)表示树上有一条连接 uuvv 的权值为 ww 的边。
接下来 qq 行,每行一个整数 eie_i1ei<n1 \leq e_i < n),表示这次操作删除了输入的第 eie_i 条边。数据保证每条边只会被删除一次。

数据保证单个测试点内的 nn 之和不超过 3×1053 \times 10^5

输出格式

对每组数据,输出 qq 行,每行一个整数,依次表示每次操作后所求的答案。

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

提示

提示

请注意大量的数据读入和输出对程序效率造成的影响,选择合适的读入输出方式,不要频繁刷新输出缓冲区,避免超时。