#YDRS004E. 做个梦呀做个梦
做个梦呀做个梦
标题来自:Pale - MIMI
题目描述
有一棵 个结点的树,每个点有点权 。
现在云浅会进行 次询问,第 次询问给出树上的 条边,如果断掉这 条边,那么树会分裂成 个连通块。你需要对每个连通块 找到一个点 ,使得 最小。这里 指的是树上 两点之间最短路径上的边数。如果有多个,取编号最小的那个。
这里询问之间互相独立,也就是说并没有真的断掉这些边。
输入格式
本题有多组数据。
第一行一个正整数 表示数据组数。对于每组数据:
第一行两个正整数 。
接下来一行 个正整数表示 。
接下来 行,每行两个正整数 表示树上的一条边。
接下来 行每行先输入一个正整数 表示这次询问断掉的边数,接下来输入 个 中的正整数 表示断掉输入的第 条边。
输出格式
对于每组询问,假设你找到的 个点的编号分别为 ,你需要先把 升序排序,然后输出
$$\left(\sum_{i=1}^{k_i+1}528221^{i-1}\times x_i\right)\bmod 2^{32} $$的值。
样例 输入
2
5 7
1 1 1 1 1
4 5
3 2
4 3
3 1
3 4 1 3
1 4
2 4 1
1 3
3 4 2 1
4 4 2 3 1
3 2 3 4
8 5
7 2 8 8 2 1 2 3
1 2
3 7
7 5
7 4
5 8
4 6
3 1
6 5 2 7 4 1 3
2 2 5
3 6 2 3
1 3
7 3 1 2 7 4 5 6
样例 输出
1413104888
1584664
3519304965
2112887
1568554287
565816639
2020778538
3477803906
3053484989
4041557075
4225771
3032800292
样例 解释
实际上的答案为
1 2 4 5
1 3
1 3 5
3 4
1 2 3 5
1 2 3 4 5
1 2 3 4
1 2 3 4 5 7 8
1 4 8
1 4 6 8
3 8
1 2 3 4 5 6 7 8
以第一组数据的第三组询问为例:以下分别为原本的树和断掉边之后的树。
断掉边后图中有三个连通块:,取的最优点分别为 ,按升序输出为 1 3 5
。
测试点约束
对于所有数据:$1\le n,q,\sum k_i\le 2\times 10^5,1\le T\le 10,1\le a_i\le 10^4,1\le k_i\le n-1$。
这里和以下表格中的 指的都是单组数据中 的和,并非 组数据全部的 之和。
子任务编号 | 特殊性质 | 依赖子任务 | 分值 | ||
---|---|---|---|---|---|
Subtask #1 | 无 | ||||
Subtask #2 | |||||
Subtask #3 | |||||
Subtask #4 | 保证输入的第 条边为 | 无 | |||
Subtask #5 | 保证 | ||||
Subtask #6 | 无 |