洛谷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\n",ans); 20 return 0; 21 }
深深地明白自己的弱小