5527: 树上异或(tree)
Memory Limit:512 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
给定一棵树包含n个节点的树,以及每个节点的权值a_i,对于树上的n-1条边,每条边可以选择删除或不删除,有2^(n-1)种选择方案。 现在需要去验证每一种删除边的方案,假设删除一边后有x个连通块,当前删除方案的权值为所有连通块点权异或(xor)和的乘积。若删除一条边后图中包含有C_1,C_2,…,C_i个连通块,其中C_i为第i个连通块顶点的集合,则此删除方案的权值v为v_1×v_2×…×v_i。
求2^(n-1)种删除方案的权值之和,答案对998244353取模。
求2^(n-1)种删除方案的权值之和,答案对998244353取模。
Input
第一行一个正整数n,表示树的节点个数。
第二行一行n 个正整数,表示每个节点的权值。
第三行一行n-1 个正整数b_2,b_3,…,b_n,表示节点i与节点b_i之间有一条边。
第二行一行n 个正整数,表示每个节点的权值。
第三行一行n-1 个正整数b_2,b_3,…,b_n,表示节点i与节点b_i之间有一条边。
Output
输出一行一个整数,表示所有2^(n-1)种删除方案权值之和对998244353取模的结果。
Sample Input Copy
3
1 2 3
1 1
Sample Output Copy
19
HINT
对于 100% 的数据 1≤n≤10^5,1≤a_i≤10^18。