洛谷P3812 【模板】线性基

传送门

不知道线性基是什么东西的可以看看蒟蒻的总结

线性基是个啥玩意儿……

为啥只要消成上三角矩阵就行了?不是得搞成对角矩阵的么?

 1 //minamoto
 2 #include<cstdio>
 3 #define ll long long
 4 const int N=55;
 5 int n;ll ans,a[N],p[101];
 6 void get(ll x){
 7     for(int i=62;i>=0;--i){
 8         if(!(x>>(ll)i)) continue;
 9         if(!p[i]){p[i]=x;break;}
10         x^=p[i];
11     }
12 }
13 int main(){
14     scanf("%d",&n);
15     for(int i=1;i<=n;++i)
16     scanf("%lld",&a[i]),get(a[i]);
17     for(int i=62;i>=0;--i)
18     if((ans^p[i])>ans) ans^=p[i];
19     printf("%lld
",ans);
20     return 0;
21 }
原文地址:https://www.cnblogs.com/bztMinamoto/p/9714831.html