社区讨论

T3求问

学术版参与者 4已保存回复 3

讨论操作

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

当前回复
3 条
当前快照
1 份
快照标识符
@mhiyrg6y
此快照首次捕获于
2025/11/03 17:54
4 个月前
此快照最后确认于
2025/11/03 17:54
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define INF 1e18
#define pb push_back
#define lb long double
#define max(a,b) ((a)>(b)?(a):(b))
#define min(a,b) ((a)<(b)?(a):(b))
#define IOS ios::sync_with_stdio(0),cin.tie(nullptr),cout.tie(nullptr)
using namespace std;
const int int_max=2147483647;
const int mod=1e9+7;
const int N=1e5+5;
struct A{
	int l,r;
}s[100005];int sum=0;
int a[100005]={};
bool cmp(A x,A y){
	return x.r>y.r;
}
int main() {
	int n,k;
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		int x;
		cin>>x;
		a[x]=x^a[x-1];
	}
	for(int i=1;i<=n;i++){
		for(int j=i;j<=n;j++){
			if((a[j]^a[i-1])==k){
				++sum;
				s[sum].l=i;
				s[sum].r=j;
          break;
			}
		}
	}
	sort(s+1,s+sum+1,cmp);
	int r=0,ans=0;
	for(int i=1;i<=sum;i++){
		if(s[i].l>r){
			ans++;
		}
	}
	cout<<ans;
	return 0;	
}
1.该代码几分
2.是否可以去掉 sort

回复

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

正在加载回复...