编程题
### 问题描述 小蓝有一棵树,树中包含 $N$ 个结点,编号为 $0,1,2,\cdots, N - 1$,其中每个结点上都有一个整数 $X_{i}$。他可以从树中任意选择两个不直接相连的结点 $a\text{、}b$ 并获得分数 $X_{a} \oplus X_{b}$,其中 $\oplus$ 表示按位异或操作。 请问小蓝可以获得的最大分数是多少? ### 输入格式 输入的第一行包含一个整数 $N$,表示有 $N$ 个结点。 第二行包含 $N$ 个整数 $X_{1},X_{2},\cdots ,X_{N}$,相邻整数之间使用一个空格分隔。 第三行包含 $N$ 个整数 $F_{1},F_{2},\cdots,F_{N}$,相邻整数之间使用一个空格分隔,其中第 $i$ 个整数表示 $i$ 的父结点编号,$F_{i} = - 1$ 表示结点 $i$ 没有父结点。 ### 输出格式 输出一行包含一个整数表示答案。 ### 样例输入 ```text 5 1 0 5 3 4 -1 0 1 0 1 ``` ### 样例输出 ```text 7 ``` ### 样例说明 选择编号为 $3$ 和 $4$ 的结点,$x_{3} = 3,x_{4} = 4$,他们的值异或后的结果为 $3 \oplus 4 = 7$ 。 ### 评测用例规模与约定 对于 ${50}\\%$ 的评测用例,$1 \leq N \leq {1000}$; 对于所有评测用例,$1 \leq N \leq 10^{5},0 \leq X_{i} \leq 2^{31} - 1, - 1 \leq F_{i} \leq N,F_{i} \neq 0$。
查看答案
赣ICP备20007335号-2