社区讨论

60分的时间复杂度100分,为什么?

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

讨论操作

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

当前回复
1 条
当前快照
1 份
快照标识符
@mhiygbjc
此快照首次捕获于
2025/11/03 17:46
4 个月前
此快照最后确认于
2025/11/03 17:46
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int a[500001],n,k,ans[500001],sum;
bool see[500001];
int main(){
    cin>>n>>k;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        ans[i]=ans[i-1] xor a[i]; 
    }
    for(int i=1;i<=n;i++){
        for(int j=i;j>0;j--){
            if(see[j]==1)break;
            int z=ans[i] xor ans[j-1];
            if(z==k){
                sum++;
                for(int v=i;v>=j;v--)see[v]=1;
                break;
            }
        }
    }
    cout<<sum;
	return 0;
}
CCF神奇的数据

回复

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

正在加载回复...