题意:给定一棵N个节点的树,树上的每条边都有一个权值,从树中选择两个点x和y,把从x到y路径上的所有边权xor异或起来,得到的最大结果是多少。
思路:相同部分异或为0,所以从x到y路径上的边权的xor结果为D[x] xor D [y] ,将x到根与y到根的重叠部分恰好抵消掉。
可以先用DFS得到所有的D[x],然后题目变成了D[1]-D[i] 选两个数字异或的结果最大
题意:给定一棵N个节点的树,树上的每条边都有一个权值,从树中选择两个点x和y,把从x到y路径上的所有边权xor异或起来,得到的最大结果是多少。
思路:相同部分异或为0,所以从x到y路径上的边权的xor结果为D[x] xor D [y] ,将x到根与y到根的重叠部分恰好抵消掉。
可以先用DFS得到所有的D[x],然后题目变成了D[1]-D[i] 选两个数字异或的结果最大