#P613. 树上异或
树上异或
题目描述
给定一棵由个结点构成的树,结点编号为~,其中号点为树根,第个点的点权为。
对于整棵树的第次操作,我们会从根结点开始进行下面的操作:
对于结点 ,计算其子树中每个节点 在前一次操作后的权值 的异或和,并记为 在这一次操作后的权值 ,对于结点 的每个儿子,递归进行上述计算。
现对于给定的 次询问,每次询问一个操作数 ,请你求出 次操作后, 根结点的值(即 的值)。
输入格式
输入第一行:两个正整数 输入第二行:个正整数,分别表示一开始每个点的点权。 接下来行,每行两个正整数,表示第条边连接两点。 最后一行,个正整数,分别表示询问的操作数。
输出格式
输出共一行:个正整数,分别表示每次询问的轮操作后,根结点的值。
4 3
1 5 8 7
2 3
1 4
1 2
1 2 3
11 9 3
数据范围
-
对于的数据,;
-
对于的数据,;
-
对于的数据,$1\leq n,q \leq 2\times 10^5, 1\leq m_i,a_i \leq 10^{18}$