洛谷 P3812 【模板】线性基
原创
©著作权归作者所有:来自51CTO博客作者ITKaven的原创作品,请联系作者获取转载授权,否则将追究法律责任
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);
}