luogu#P10060. [SNOI2024] 树 V 图
[SNOI2024] 树 V 图
题目描述
你有一棵 个点的无根树,节点的编号为 。定义树上两点之间的距离 为树上 点到 点的简单路径上的边数。
现在有 个关键点 ,对于每个点,我们想求出距离它最近的关键点是哪个点。也就是对于一个点 ,令 表示令 最小的 ,如果有多个 满足条件,那么我们会选择其中最小的 。
现在,我们给出了 ,问有多少组可能的 满足条件。由于答案可能很大,输出对 取模的结果。
输入格式
多组测试数据,第一行一个整数 表示数据组数。
对于每组测试数据,第一行两个整数 ,表示节点个数和关键点个数。
接下来 行,每行两个整数 ,表示一条树边 。
接下来一行, 个整数,。注意:数据不保证一定存在一组可能的 。
输出格式
对于每组数据,输出一个整数,表示答案对 取模的结果。
3
3 3
1 2
2 3
1 2 1
3 2
1 2
2 3
1 2 2
3 2
1 2
2 3
2 1 1
0
1
2
1
10 5
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
1 1 2 2 3 3 4 4 5 5
13
提示
【样例 #1 解释】
在第一个样例中,对于第二组数据,一个解为 。对于第三组数据,两个解为 。
注意,当多个点距离相同时,我们选择的是最小的 而不是 。
【样例 #3】
见附件中 voronoi/voronoi3.in
与 voronoi/voronoi3.ans
,这个样例满足测试点 的条件限制。
【样例 #4】
见附件中 voronoi/voronoi3.in
与 voronoi/voronoi3.ans
,这个样例满足测试点 的条件限制。
【数据范围】
对于所有的数据,保证 ,,。
具体如下:
测试点编号 | 特殊性质 | |
---|---|---|
无 | ||
A | ||
B | ||
无 |
特殊性质 A:保证树是一条链。
特殊性质 B:保证 。