问题 5295 --直径(diameter)

5295: 直径(diameter)

时间限制: 4 Sec  内存限制: 128 MB
提交: 2  解决: 0
[提交][状态][命题人:]

题目描述

有一棵 n 个节点的树,每条边都有正的边权。

你要回答 q 个询问,每次会删掉这个树中的 k 条边,这棵树被分成 k+1 个连通块。
输出每个连通块中最远点对距离的和。

这里的询问是互相独立的,即每次都是在原树上进行操作。

输入

第一行一个整数 n,接下来 n−1 行每行两个整数 u,v,w ,其中第 i 行表示第 i 条边边权为 w ,连接了 u,v 两点。

接下来一行一个整数 q ,表示有 q 组询问。

对于每组询问,第一行一个正整数 k ,接下来一行 k 个不同的 1 到 n−1 之间的整数,表示删除的边的编号。

输出

共 q 行,每行一个整数表示询问的答案。

样例输入
Copy
5
1 2 2
2 3 3
2 4 4
4 5 2
3
4 1 2 3 4
1 4
2 2 3
样例输出
Copy
0
7
4

提示

数据规模
共 10 个测试点。
测试点 1,2,3 满足 n≤10^3, ∑k≤10^3 。
测试点 4,5 满足 k=1 。
测试点 6,7 满足 k≤20 。
对于所有数据,满足 1≤n,q≤10^5, 1≤w≤10^9, k≥1, ∑k≤10^5 。

来源

[提交][状态]