#P10107. [GDKOI2023 提高组] 树
[GDKOI2023 提高组] 树
题目描述
给定一棵 个结点的有根树 ,结点从 开始编号,根结点为 号结点,每个结点有一个正整数权值 。
有 次询问,对于一次询问,给定 ,设 号结点的子树内(包含 自身)的所有满足距离 号结点不超过 的结点编号为 ,则这次询问的答案为:
$$(v_{c_1} ⊕ d(c_1, x)) + (v_{c_2} ⊕ d(c_2, x)) + \cdots + (v_{c_k} ⊕ d(c_k, x)) $$其中 表示树上 号结点与 号结点间唯一简单路径所包含的边数,。 表示异或运算。
输入格式
第一行一个整数 表示树的大小。
第二行 个整数表示 。
第三行 个整数,依次表示 号结点到 号结点,每个结点的父亲编号 。
第四行一个整数 。
接下来 行,每行两个整数 ,表示一个 的查询。
输出格式
输出共 行,第 行一个整数表示第 次询问的答案。
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% 的数据,满足 。
对于 20% 的数据,满足 。
对于另外 20% 的数据,满足 。
对于另外 10% 的数据,满足 。
对于另外 20% 的数据,满足 。
对于另外 10% 的数据,满足 。
对于 100% 的数据,满足 ,,,。