社区讨论
贪心做法 CCF 75 分
P14359[CSP-J 2025] 异或和参与者 3已保存回复 11
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 11 条
- 当前快照
- 1 份
- 快照标识符
- @mhpi34ia
- 此快照首次捕获于
- 2025/11/08 07:42 3 个月前
- 此快照最后确认于
- 2025/11/08 07:52 3 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl '\n'
#define dbug(x) (void)(cerr << #x << " = " << x << endl)
const int N = 50 * 10086;
ll a[N], sum[N];
ll n,k;
inline bool check(ll l ,ll r){
ll temp = sum[r] ^ sum[l - 1];
if(temp == k) return 1;
return 0;
}
int main(){
freopen("xor.in" , "r" , stdin);
freopen("xor.out", "w" , stdout);
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
cin >> n >> k;
for(ll i = 1;i <= n;i++){
cin >> a[i];
sum[i] = sum[i-1] ^ a[i];
}
ll pos = 0 , cnt = 0;
for(ll r = 1;r <= n;r++){
for(ll l = pos + 1;l <= r;l++){
if(check(l , r)){
//cout << l << " " << r << endl;
pos = r;
cnt++;
break;
}
}
}
cout << cnt;
return 0;
}
考场代码,在 CCF 得到 75 pts,而洛谷可过。
回复
共 11 条回复,欢迎继续交流。
正在加载回复...