题意:每个点有点权,两点间的边权为两点点权的异或值,求最小生成树
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
using namespace std;
int n,w[200005];
int nex[7000005][2];
int tot=0;
long long ans=0;
void ins(int x)
{
int now=0;
for(int i=29;i>=0;i--)
{
int t=(x>>i)&1;