社区讨论

TLE求条

P14359[CSP-J 2025] 异或和参与者 2已保存回复 3

讨论操作

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

当前回复
3 条
当前快照
1 份
快照标识符
@mhiyqp6i
此快照首次捕获于
2025/11/03 17:54
4 个月前
此快照最后确认于
2025/11/03 17:54
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
struct node{
	int left;
	int right;
};
bool cmp(node a,node b){
	return a.right<b.right;
}
int main(){
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int N,K;
	cin>>N>>K;
	int a[N+5];
	for(int i=1;i<=N;i++)cin>>a[i];
	int b[N+5];
	b[0]=0;
	for(int i=1;i<=N;i++)b[i]=b[i-1]^a[i];
	int p=0;
	node c[N+5];
	for(int l=1;l<=N;l++){
		for(int r=l;r<=N;r++){
			if((b[r]^b[l-1])==K){
				p++;
				c[p].left=l;
				c[p].right=r;
				break;
			}
		}
	} 
	sort(c+1,c+p+1,cmp);
	int s=0;
	int ans=0;
	for(int i=1;i<=p;i++){
		if(c[i].left>s){
			ans++;
			s=c[i].right;
		}
	}
	cout<<ans;
	return 0;
}
考试时就这么写的,O(n^2)TLE了

回复

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

正在加载回复...