#P9745. 「KDOI-06-S」树上异或

    ID: 10974 远端评测题 2000ms 512MiB 尝试: 0 已通过: 0 显示难度提高 上传者: 标签>动态规划 DP2023洛谷原创O2优化树形 DP位运算洛谷月赛

「KDOI-06-S」树上异或

题目描述

给定一棵包含 nn 个节点的树,第 ii 个点有一个点权 xix_i。

对于树上的 n−1n-1 条边,每条边选择删除或不删除,有 2n−12^{n-1} 种选择是否删除每条边的方案。

对于每种删除边的方案,设删除后的图包含 kk 个连通块,定义这个方案的权值为图中连通块点权异或和的乘积。形式化地说,若这张图包含连通块 C1,C2,…,CkC_1,C_2,\ldots,C_k,其中 CiC_i 是第 ii 个连通块的顶点集合,设 vi=⨁u∈Cixuv_i=\bigoplus_{u\in C_i} x_u,则这个方案的权值为 v1×v2×⋯×vkv_1\times v_2\times \cdots\times v_k。

求这 2n−12^{n-1} 种删除边的方案的权值之和,答案对 998 244 353998~244~353 取模。

输入格式

从标准输入读入数据。

输入的第一行包含一个正整数 nn,表示树的节点个数。

第二行 nn 个非负整数 x1,x2,…,xnx_1,x_2,\ldots,x_n,表示每个点的点权。

第三行 n−1n-1 个正整数 f2,f3,…,fnf_2,f_3,\ldots,f_n,表示节点 ii 与 fif_{i} 之间有一条无向边。

输出格式

输出到标准输出。

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

3
1 2 3
1 1
19
5
3 4 5 6 7
1 1 2 2
5985

提示

【样例解释 #1】

有四种删除边的方案:

  • 不删除边:图有且仅有一个连通块,权值为 1⊕2⊕3=01\oplus2\oplus3=0。
  • 删除 (1,2)(1,2) 一条边:图包含两个连通块,权值为 (1⊕3)×2=4(1\oplus3)\times2=4。
  • 删除 (1,3)(1,3) 一条边:图包含两个连通块,权值为 (1⊕2)×3=9(1\oplus2)\times3=9。
  • 删除 (1,2)(1,2),(1,3)(1,3) 两条边:图包含三个连通块,权值为 1×2×3=61\times2\times3=6。

所有方案权值的总和为 0+4+9+6=190+4+9+6=19。

【样例 #3】

见选手目录下的 xor/xor3.in 与 xor/xor3.ans。

这个样例满足测试点 6∼76\sim7 的条件限制。

【样例 #4】

见选手目录下的 xor/xor4.in 与 xor/xor4.ans。

这个样例满足测试点 88 的条件限制。

【样例 #5】

见选手目录下的 xor/xor5.in 与 xor/xor5.ans。

这个样例满足测试点 99 的条件限制。

【样例 #6】

见选手目录下的 xor/xor6.in 与 xor/xor6.ans。

这个样例满足测试点 19∼2119\sim21 的条件限制。


【数据范围】

对于所有数据保证:1≤n≤5×1051\leq n\leq5\times10^5,0≤xi≤10180\leq x_i\leq10^{18},1≤fi<i1\leq f_i<i。

测试点编号 n≤n\leq xix_i 特殊性质
1∼21\sim2 1212 ≤109\leq10^9 无
33 20002000 =1=1
44 10510^5 A
55 B
6∼76\sim7 无
88 ≤7\leq7 A
99 B
10∼1110\sim11 无
12∼1612\sim16 200200 ≤8191\leq8191
1717 10510^5 ≤109\leq10^9 A
1818 B
19∼2119\sim21 无
22∼2522\sim25 5×1055\times10^5 ≤1018\leq10^{18}
  • 特殊性质 A:保证对于任意 1<i≤n1< i\le n,fi=i−1f_i=i-1。
  • 特殊性质 B:保证对于任意 1<i≤n1< i\le n,fi=1f_i=1。

【提示】

⊕\oplus 表示按位异或运算。

本题输入输出量较大,请使用适当的 I/O 方式。

请注意常数因子对程序运行效率产生的影响。