#loj5751. 「CCO 2026」Tree Traversals

「CCO 2026」Tree Traversals

#5751. 「CCO 2026」Tree Traversals

标签: 传统 | 时间限制: 4000 ms | 内存限制: 512 MiB |

题目描述

译自 CCO 2026 Day2 T2「Tree Traversals」。

Yevin Kang 有一棵包含 NN 个顶点的树,顶点编号为 11NN。树是一个不包含环的无向连通图。

KK 为一个正整数。我们如下定义 f(K)f(K)

对于任意两个顶点 1u,vN1 \le u, v \le N,令 d(u,v)d(u, v) 表示连接顶点 uu 和顶点 vv 的简单路径上的边数。特别地,对于所有 1uN1 \le u \le N,均有 d(u,u)=0d(u, u) = 0

一个由 1,,N1, \dots, N 组成的排列 p1,,pNp_1, \dots, p_N 如果满足以下所有条件,则被称为“好排列”:

  1. 对于所有 i=2,,Ni = 2, \dots, N,满足 d(pi1,pi)Kd(p_{i - 1}, p_i) \le K
  2. 对于所有满足 1i<jN1 \le i < j \le N 的整数对 (i,j)(i, j),满足 d(1,pi)d(1,pj)d(1, p_i) \le d(1, p_j)

那么,f(K)f(K) 即为好排列的总数。

Yevin 认为这个问题太简单了,所以他给了你 QQ 个正整数 K1,,KQK_1, \dots, K_Q。他要求你输出 f(K1),f(K2),,f(KQ)f(K_1), f(K_2), \dots, f(K_Q)109+710^9 + 7 取模后的值。

提示:mod\bmod 对应于大多数编程语言中的 %\% 运算符,表示除法后的余数。例如,5mod3=25 \bmod 3 = 217mod4=117 \bmod 4 = 1

输入格式

本题包含多组测试用例。

第一行包含一个整数 TT (1T5×105)(1 \le T \le 5 \times 10^5),表示测试用例的数量。

每个测试用例的第一行包含两个由空格隔开的整数 N,QN, Q (1QN5×105)(1 \le Q \le N \le 5 \times 10^5)

接下来的 N1N - 1 行,每行包含两个由空格隔开的整数 u,vu, v,表示树中顶点 uuvv 之间存在一条边。保证这 N1N - 1 条边构成一棵树。

最后一行包含 QQ 个整数 K1,,KQK_1, \dots, K_Q,表示 QQ 次询问。

保证在一个测试文件中,所有测试用例的 NN 之和(记为 N\sum N)不超过 5×1055 \times 10^5

输出格式

对于每个测试用例,输出一行包含 QQ 个由空格隔开的整数,即 f(K1),f(K2),,f(KQ)f(K_1), f(K_2), \dots, f(K_Q)109+710^9 + 7 取模后的值。

样例

输入

2
3 3
1 2
1 3
1 2 3
6 3
1 2
1 3
3 4
3 5
3 6
1 2 3

输出

0 2 2
0 6 12

样例输入中的两棵树如下图所示:

在第一个测试用例中,对于 K=2K = 2K=3K = 3[1,2,3][1, 2, 3][1,3,2][1, 3, 2] 都是好排列。对于任何 KK 值,[2,1,3][2, 1, 3] 都不是好排列,因为

$$d\left(1, p_1\right)=1 \not \leq 0=d\left(1, p_2\right)$$

违反了第二个条件。

可以证明,当 K=1K = 1 时不存在好排列。

在第二个测试用例中,[1,3,2,4,5,6][1, 3, 2, 4, 5, 6]K=3K = 3 时是一个好排列,但在 K=2K = 2 时不是好排列,因为 d(2,4)=3≰2d(2, 4) = 3 \not\le 2

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务 分值 N\sum N 限制 QQ 限制 KiK_i 限制
11 88 1N101 \le \sum N \le 10 1QN1 \le Q \le N 1KiN1 \le K_i \le N
22 1212 1N5×1051 \le \sum N \le 5 \times 10^5 1Qmin(2,N)1 \le Q \le \min(2, N) 1Kimin(2,N)1 \le K_i \le \min(2, N)
33 2020 1N30001 \le \sum N \le 3000 1Qmin(5,N)1 \le Q \le \min(5, N) 1KiN1 \le K_i \le N
44 2828 1N5×1051 \le \sum N \le 5 \times 10^5 1QN1 \le Q \le N
55 3232