U215175 缝合怪
题目背景
### 暂无数据,请勿提交。
题目描述
树,带点权。多次询问,每次给出三个参数 $u$,$k$,$x$,查询树上(距离 $u$ 不超过 $k$ 的点)点权异或 $x$ 的最大值。
输入格式
第一行一个数 $n$ ,表示树点个数。
第二行 $n$ 个数,第 $i$ 个数 $a_i$ 为 $i$ 的点权。
第三行 $n-1$ 个数,第 $i$ 个数为点 $i+1$ 的父亲。
第四行一个数 $Q$ ,表示询问个数。
接下来 $Q$ 行,每行 $3$ 个整数 $u,k,x$。含义见上文。
输出格式
输出 $Q$ 行,表示一个询问的答案。
说明/提示
#### 样例解释
距离 $2$ 不超过 $1$ 的点有 $1,2,3$ 三个,点权分别为 $1,2,4$ ,其中 $1xor6$ 最大,为 $7$ 。
#### 数据范围
$n,Q\leq10^5,a_i,x\leq10^9,u,k\leq 10^5$
空间 512 MB,时限 10 s 。
我们暂时只有一个 $nlog^3n$ 的算法。如果把 “距离不超过 $k$ ” 改成 “距离恰好为 $k$ ”,则可以做到 $nlog^2n$ 。(认为 $n,Q$ 同阶)。