luoogu 3812

补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;
}
posted @ 2019-09-25 14:44  MXang  阅读(89)  评论(0编辑  收藏  举报