首页 > TAG信息列表 > POJ3764
POJ3764 The xor-longest Path
题目大意:给定一棵树,每条边都有对应的权值,在树上找一条简单的路径,使得所有边权值的异或值最大。 分析:这个类似于前边写过的一个数组选定两个数的最大异或值,先dfs预处理一下从1到i的异或值D[i],然后当你想要取到s到e的异或值就是D[s]^D[e]。接下来就相当于之前写过的两个数的最大异或POJ3764
题目 POJ3764 The xor-longest Path 原题传送门 主要思路: 求出每个点到根节点(这里是树,所以直接取0)路径上所有权值xor和为d[i],则任意两点间路径xor和则为 d[x]^d[y](至于证明,作者太懒,不想写) 接着用trie树跑出 max(d[x]^d[y]) (0<=x<n && 0<=y<n) Code #include<cstdio> #include[POJ3764]最长异或路径
Description: 给定一棵n个点的带权树,结点下标从1开始到N。寻找树中找两个结点,求最长的异或路径。 Hint: \(n<=10^5\) Solution: 真是01Trie傻逼题,居然想了好久 瓶颈在于如何找出所有的点到根节点的异或值中异或起来最大的两个 考虑将每个点到根节点的异或值插入Trie,再同样地查询一次