「KDOI-06-S」树上异或

题目描述

给定一棵包含 $n$ 个节点的树,第 $i$ 个点有一个点权 $x_i$。 对于树上的 $n-1$ 条边,每条边选择删除或不删除,有 $2^{n-1}$ 种选择是否删除每条边的方案。 对于每种删除边的方案,设删除后的图包含 $k$ 个连通块,定义这个方案的权值为图中连通块点权异或和的乘积。形式化地说,若这张图包含连通块 $C_1,C_2,\ldots,C_k$,其中 $C_i$ 是第 $i$ 个连通块的顶点集合,设 $v_i=\bigoplus_{u\in C_i} x_u$,则这个方案的权值为 $v_1\times v_2\times \cdots\times v_k$。 求这 $2^{n-1}$ 种删除边的方案的**权值**之和,答案对 $998~244~353$ 取模。

输入输出格式

输入格式


从标准输入读入数据。 输入的第一行包含一个正整数 $n$,表示树的节点个数。 第二行 $n$ 个非负整数 $x_1,x_2,\ldots,x_n$,表示每个点的点权。 第三行 $n-1$ 个正整数 $f_2,f_3,\ldots,f_n$,表示节点 $i$ 与 $f_{i}$ 之间有一条无向边。

输出格式


输出到标准输出。 输出包含一行一个整数,表示所有 $2^{n-1}$ 种删除边的方案的**权值**之和,答案对 $998~244~353$ 取模。

输入输出样例

输入样例 #1

3
1 2 3
1 1

输出样例 #1

19

输入样例 #2

5
3 4 5 6 7
1 1 2 2

输出样例 #2

5985

说明

**【样例解释 #1】** 有四种删除边的方案: * 不删除边:图有且仅有一个连通块,权值为 $1\oplus2\oplus3=0$。 * 删除 $(1,2)$ 一条边:图包含两个连通块,权值为 $(1\oplus3)\times2=4$。 * 删除 $(1,3)$ 一条边:图包含两个连通块,权值为 $(1\oplus2)\times3=9$。 * 删除 $(1,2)$,$(1,3)$ 两条边:图包含三个连通块,权值为 $1\times2\times3=6$。 所有方案权值的总和为 $0+4+9+6=19$。 **【样例 #3】** 见选手目录下的 `xor/xor3.in` 与 `xor/xor3.ans`。 这个样例满足测试点 $6\sim7$ 的条件限制。 **【样例 #4】** 见选手目录下的 `xor/xor4.in` 与 `xor/xor4.ans`。 这个样例满足测试点 $8$ 的条件限制。 **【样例 #5】** 见选手目录下的 `xor/xor5.in` 与 `xor/xor5.ans`。 这个样例满足测试点 $9$ 的条件限制。 **【样例 #6】** 见选手目录下的 `xor/xor6.in` 与 `xor/xor6.ans`。 这个样例满足测试点 $19\sim21$ 的条件限制。 *** **【数据范围】** 对于所有数据保证:$1\leq n\leq5\times10^5$,$0\leq x_i\leq10^{18}$,$1\leq f_i<i$。 | 测试点编号 | $n\leq$ | $x_i$ | 特殊性质 | |:--:|:--:|:--:|:--:| | $1\sim2$ | $12$ | $\leq10^9$ | 无 | | $3$ | $2000$ | $=1$ | 无 | | $4$ | $10^5$ | $=1$ | A | | $5$ | $10^5$ | $=1$ | B | | $6\sim7$ | $10^5$ | $=1$ | 无 | | $8$ | $10^5$ | $\leq7$ | A | | $9$ | $10^5$ | $\leq7$ | B | | $10\sim11$ | $10^5$ | $\leq7$ | 无 | | $12\sim16$ | $200$ | $\leq8191$ | 无 | | $17$ | $10^5$ | $\leq10^9$ | A | | $18$ | $10^5$ | $\leq10^9$ | B | | $19\sim21$ | $10^5$ | $\leq10^9$ | 无 | | $22\sim25$ | $5\times10^5$ | $\leq10^{18}$ | 无 | * 特殊性质 A:保证对于任意 $1< i\le n$,$f_i=i-1$。 * 特殊性质 B:保证对于任意 $1< i\le n$,$f_i=1$。 *** **【提示】** $\oplus$ 表示按位异或运算。 本题输入输出量较大,请使用适当的 I/O 方式。 **请注意常数因子对程序运行效率产生的影响。**