补abc发现要会线性基。。。
先把这个点了。
还不懂为啥。
不想看。
颓。
只想睡觉。
#include <bits/stdc++.h> using namespace std; typedef long long ll; int n;ll a[55],dig[63],vis[63],sum; void add(ll x){ for(int i=52;i>=0;i--){ if(x>>i){ if(dig[i])x^=dig[i]; else{ dig[i]=x; break; } } } } int main(){ ios::sync_with_stdio(false); cin>>n; for(int i=1;i<=n;i++)cin>>a[i],add(a[i]); ll ans = 0; for(int i=52;~i;i--){ if((ans^dig[i])>ans)ans^=dig[i]; } cout<<ans<<endl; }