POJ - 3764 The xor-longest Path 字典树+异或

题意:给定一棵N个节点的树,树上的每条边都有一个权值,从树中选择两个点x和y,把从x到y路径上的所有边权xor异或起来,得到的最大结果是多少。

思路:相同部分异或为0,所以从x到y路径上的边权的xor结果为D[x] xor D [y] ,将x到根与y到根的重叠部分恰好抵消掉。

可以先用DFS得到所有的D[x],然后题目变成了D[1]-D[i]  选两个数字异或的结果最大

代码参考

猜你喜欢

转载自blog.csdn.net/deepseazbw/article/details/81304782