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;
}
原文地址:https://www.cnblogs.com/MXang/p/11584489.html