题目描述
对于两个权值序列 A(0)0,A(0)1,…,A(0)20 与 A(1)0,A(1)1,…,A(1)20,记 x=∑i=020bi2i,其中 bi∈{0,1},定义 f(x)=∏i=020A(bi)i。
给定一颗树。有 T 组数据,每组数据给定树的根结点编号 ri,模数 m 与权值序列 A(0),A(1),你需要对每组数据都求出答案。
对于一颗根为 ri 的有根树,每个结点 x 的深度 dx 定义为 x 到 ri 的简单路径上的结点数量。记 LCA*(x,y) 为结点 x,y 最近公共祖先的编号。对于每个树上的结点 x,你需要求出 sx=∑i=1nf(i+dLCA*(i,x)) 对 m 取模后的结果。
输入格式
本题包含多组测试数据。
输入的第一行包含一个整数 n。
接下来 n−1 行,每行两个整数 ui,vi 表示树上一条连接结点 ui 与 vi 的边。
接下来一行一个整数 T,表示数据的组数。
接下来共 3T 行。对于每组数据输入三行:
- 第一行包含两个整数 ri,m。
- 第二行包含 21 个整数 A(0)0,A(0)1,…,A(0)20。
- 第三行包含 21 个整数 A(1)0,A(1)1,…,A(1)20。
输出格式
共输出 T 行。对于每组数据,记 sx 表示结点 x 的答案,你只需要输出一行包含一个整数,表示 $(1\times s_1) \oplus (2\times s_2) \oplus \dots \oplus (n\times s_n)$ 的结果。
5
1 2
1 3
2 4
2 5
3
1 100
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 100
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
4 998244353
3 8 6 9 8 1 3 9 6 3 6 9 5 4 5 3 1 6 1 2 3
8 7 6 6 8 5 1 8 9 2 6 8 7 3 4 7 5 7 9 9 2
13
47
101841048
提示
【样例 1 解释】
对于第一组数据,所有点的答案都是 5。于是 $(1\times s_1) \oplus (2\times s_2) \oplus \dots \oplus (n\times s_n)=(1\times 5) \oplus (2\times 5) \oplus (3\times 5) \oplus (4\times 5) \oplus (5\times 5)=13$。
对于第二组数据,(s1,s2,s3,s4,s5)=(9,7,8,6,8)。
【样例 2】
见附件的 tree/tree2.in 与 tree/tree2.ans。
该样例满足测试点 1∼2 的约束条件。
【样例 3】
见附件的 tree/tree3.in 与 tree/tree3.ans。
该样例满足测试点 6 的约束条件。
【样例 4】
见附件的 tree/tree4.in 与 tree/tree4.ans。
该样例满足测试点 7∼10 的约束条件。
【样例 5】
见附件的 tree/tree5.in 与 tree/tree5.ans。
该样例满足测试点 17∼20 的约束条件。
【数据范围】
对于所有测试数据,保证 1≤T≤10,1≤ri≤n≤2×105,0≤A(0)i,A(1)i<m,2≤m≤109。
::cute-table{tuack}
| 测试点编号 |
T= |
n≤ |
m≤ |
特殊性质 |
| 1∼2 |
5 |
100 |
109 |
无 |
| 3∼4 |
10 |
2000 |
^ |
^ |
| 5 |
^ |
2×105 |
2 |
| 6 |
^ |
109 |
AB |
| 7∼10 |
^ |
B |
| 11 |
C |
| 12∼13 |
2 |
105 |
D |
| 14∼16 |
^ |
无 |
| 17∼20 |
10 |
2×105 |
^ |
- 特殊性质 A:保证对于 ∀1≤i<n,ui=i,vi=i+1。
- 特殊性质 B:保证存在一个 1,2,…,n 的排列 p1,p2,…,pn 满足 ∀1≤i<n,ui=pi,vi=pi+1。
- 特殊性质 C:保证存在一个整数 0≤x<m 满足 $\forall 0\le i\le 20,A(0)_i=1,A(1)_i=x^{2^i}\bmod m$。
- 特殊性质 D:保证对于 ∀1≤i≤n,di≤20。