社区讨论

60pts求调

P14937「FAOI-R10」XOR Problem参与者 5已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@mjunw5qr
此快照首次捕获于
2026/01/01 07:43
2 个月前
此快照最后确认于
2026/01/03 16:25
2 个月前
查看原帖
using namespace std;
const int N=2e5+10;
int T,n,m;
int a[N],s[N];
bool check(int res){
	int last=0,cnt=0;
	for(int i=1;i<=n;i++){
		if(((s[i]^s[last])&res)==res)last=i,cnt++;
		if(cnt==m-1)break;
	}
	return (cnt==m-1&&((s[n]^s[last])&res)==res);
}
int main(){
	cin>>T;
	while(T--){
		cin>>n>>m;
		for(int i=1;i<=n;i++)cin>>a[i],s[i]=s[i-1]^a[i];
		int ans=0;
		for(int bit=30;bit>=0;bit--){
			int res=ans|(1<<bit);
			if(check(res))ans=res;
		}
		cout<<ans<<'\n';
	}
	return 0;
}

回复

6 条回复,欢迎继续交流。

正在加载回复...