#2937. [GDKOI]树
[GDKOI]树
题目描述
给定一棵 个结点的有根树 ,结点从 开始编号,根结点为 号结点,每个结点有一个正整数权值 。
有 次询问,对于一次询问,给定 ,设 号结点的子树内(包含 自身)的所有满足距离 号结 点不超过 的结点编号为 ,则这次询问的答案为:
$$(v_{c_1} ⊕ d(c_1, x)) + (v_{c_2} ⊕ d(c_2, x)) + · · · + (v_{c_k} ⊕ d(c_k, x)) $$其中 表示树上 号结点与 号结点间唯一简单路径所包含的边数,。
⊕
表示异或运算。
输入格式
第一行一个整数 表示树的大小。
第二行 个整数表示 。
第三行 个整数,依次表示 号结点到 号结点,每个结点的父亲编号 。
第四行一个整数 。
接下来 行,每行两个整数 ,表示一个 的查询。
输出格式
输出共 行,第 行一个整数表示第 次询问的答案。
输入样例1
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
输出样例1
10
14
4
7
7
55
7
30
7
55
数据范围
对于 的数据,满足 。
对于 的数据,满足 。
对于另外 的数据,满足 。
对于另外 的数据,满足 。
对于另外 的数据,满足 。
对于另外 的数据,满足 。
对于 的数据,满足 $1 ≤ n, Q ≤ 10^6,0 ≤ v ≤ 10^9,1 ≤ p_i < i,1 ≤ x, k ≤ n$。
相关
在下列比赛中: