【Trie树】POJ 3764 最大连续异或和
题意
已知:给出n个结点的树,定义两结点间的权值为两点之间所有边相异或的值。
求:树中的某两点间的最大权值。
解法
是道好题,在做HDU5845,发现Trie树解决连续异或和问题是很有趣的套路,遂找到这题学习。
//TODO
代码
POJ 数据范围有坑,TLE半天,点开Discuss发现数据范围可能是200000。
//Trie树求最大/最小连续异或和
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
const int MAXN = 2e5 + 6;
const int MAXBIT = 30;
struct edge
{
int nx, v, w;
}e[MAXN << 1];
int last[MAXN];
int etot;
int