题号:NC206079
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
在图论中,树是一种无向图,其中任意两个顶点间存在唯一一条路径。
给定一棵根为 1 含有 n 个点的树,每个点都有一个权值,通过删去一些点和边我们可以组成一棵新的树,我们规定一棵树的权值为这棵树所有的点权值的异或,问能够新生成的树权值最大为多少?
输入描述:
输入包含多行,第一行包含一个数字
,表示节点数目,
第二行包含 n 个数字
,表示每个节点的权值,
接下来 n - 1 行每行包含两个整数
表示 u 与 v 之间有一条边连接。
输出描述:
输出包含一行,代表新生成的树权值最大的最大值。
示例2
输入
复制
5
4 2 6 8 1
1 5
2 3
1 3
3 4