线性只因12pts求调
查看原帖
线性只因12pts求调
1121412
Cute_Fish楼主2024/1/21 13:42
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define int ll
const int N=67;
struct xxj{
	bool flag=false;
	int p[N],ans[N];
	inline void insert(int x){
		for(int i=N;~i;i--){
			if((x>>i)&1ll){
				if(!p[i]){p[i]=x;return;}
				else x^=p[i];
			}
		}
		flag=true;
	}
	inline bool check(int x){
		for(int i=N;~i;i--){
	        if((x>>i)&1ll){
	            if(!p[i])return false;
	            else x^=p[i];
	        }
	    }
        return true;
	}
	inline int xor_min(){
		if(flag)return 0;
		for(int i=0;i<=N;i++){
			if(p[i])return p[i];
		}
	}
	inline int xor_max(){
		int res=0;
		for(int i=N;~i;i--)res=max(res,res^p[i]);
		return res;
	}
}a;
int n;
signed main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		int x;cin>>x;
		a.insert(x);
	}
	cout<<a.xor_max()<<"\n";
}

位运算打了括号,没爆int

2024/1/21 13:42
加载中...