luogu#P8511. [Ynoi Easy Round 2021] TEST_68

[Ynoi Easy Round 2021] TEST_68

题目描述

给定一棵 nn 个节点的树,第 ii 个点有一个权值 aia_i

对每个点 xx,其的答案为其所在子树外的所有点中,选两个可以相同的点 i,ji,jaia_i 异或 aja_j 的最大值,如果选不出两个点,则认为 xx 的答案是 00

输入格式

第一行一个数 nn

之后一行 n1n-1 个数,第 ii 个数表示 i+1i+1 节点的父亲节点 jj,保证 j<i+1j<i+1

之后一行 nn 个元素,第 ii 个元素表示第 ii 个点的权值 aia_i

输出格式

nn 行,每行一个数,其中第 ii 行的数表示第 ii 个节点对应的答案。

10
1 1 2 3 2 3 6 7 7
10 6 4 10 8 10 5 3 5 4
0
15
12
15
15
15
14
15
15
15

提示

Idea:nzhtl1477,Solution:zx2003,Code:nzhtl1477,Data:nzhtl1477

对于 10%10\% 的数据,满足 1n1021 \le n \le 10^2

对于另外 20%20\% 的数据,满足 1n1041 \le n \le 10^4

对于另外 30%30\% 的数据,树构成一条链。

对于另外 20%20\% 的数据,满足 0ai1020 \le a_i \le 10^2

对于 100%100\% 的数据,满足 1n5×1051\le n\le 5 \times 10^50ai1018 0\le a_i \le 10^{18}