#P1087. 【GDKOI 2023 TG Day2】树

【GDKOI 2023 TG Day2】树

题目描述

给定一棵 nn 个结点的有根树 TT ,结点从 11 开始编号,根结点为 11 号结点,每个结点有一个正整数权值 viv_i

QQ 次询问,对于一次询问,给定 (x,k)(x, k) ,设 xx 号结点的子树内(包含 xx自身)的所有满足距离 xx 号结点不超过 kk 的结点编号为 c1,c2,...,ckc_1, c_2, ... , c_k ,则这次询问的答案为:

$$(v_{c_1} \bigoplus d(c_1, x)) + (v_{c_2} \bigoplus d(c_2, x)) +···+ (v_{c_k} \bigoplus d(c_k, x)) $$

其中 d(x,y)d(x, y) 表示树上 xx 号结点与 yy 号结点间唯一简单路径所包含的边数,d(x,x)=0d(x, x) = 0\bigoplus 表示异或运算。

输入格式

第一行一个整数 nn 表示树的大小。

第二行 nn 个整数表示 viv_i

第三行 n1n−1 个整数,依次表示 22 号结点到 nn 号结点,每个结点的父亲编号 pip_i

第四行一个整数 QQ 。接下来 QQ 行,每行两个整数 x,kx, k ,表示一个 (x,k)(x, k) 的查询。

输出格式

输出共 QQ 行,第 ii 行一个整数表示第 ii 次询问的答案。

10
9 3 0 7 4 8 8 7 2 5
1 1 2 2 3 6 6 8 7
10
8 2
2 1
5 1
4 1
4 1
1 4
4 1
6 3
4 1
1 4
10
14
4
7
7
55
7
30
7
55

数据规模与约定

对于 10%10\% 的数据,满足 n,Q2×103n, Q≤2×10^3

对于 20%20\% 的数据,满足 n,Q105n, Q≤10^5

对于另外 20%20\% 的数据,满足 pi=i1p_i=i−1

对于另外 10%10\% 的数据,满足 k20k≤20

对于另外 20%20\% 的数据,满足 k=nk=n

对于另外 10%10\% 的数据,满足 vi=0v_i=0

对于 100%100\% 的数据,满足 1n,Q106,0v109,1pi<i,1x,kn1≤n, Q≤10^6,0≤v≤10^9,1≤p_i< i,1≤x, k≤n