​ P3812 【模板】线性基​​​ 线性基模板题
代码:

#include<bits/stdc++.h>
using namespace std;

typedef long long ll;
const int maxn=100;

ll ans[maxn];
int n,cnt;

void kaven(){

cnt=1;
for(int i=50,j;i>=0;i--){

for(j=cnt;j<=n;j++) if((ans[j]>>i)&1) break;
if(j<=n){

swap(ans[cnt],ans[j]);
for(j=1;j<=n;j++) if(j!=cnt && (ans[j]>>i)&1) ans[j]^=ans[cnt];
cnt++;
}
}
}

int main(){

scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%lld",&ans[i]);
kaven();
ll Max=0;
for(int i=1;i<cnt;i++) Max^=ans[i];
printf("%lld\n",Max);
}