- 区间异或和计数
1
- @ 2026-7-19 10:51:44
void solve() {
int n, k;
cin >> n >> k;
vector<int> a(n + 1), sum(n + 1);
for (int i = 1; i <= n; i++) {
cin >> a[i];
sum[i] = sum[i - 1] ^ a[i];
}
map<int, int> mp; // sum->cnt
mp[0] = 1;
long long res = 0;
for (int i = 1; i <= n; i++) {
res += mp[sum[i] ^ k];
mp[sum[i]]++;
}
cout << res << '\n';
}
0 条评论
目前还没有评论...
信息
- ID
- 478
- 时间
- ms
- 内存
- MiB
- 难度
- 6
- 标签
- 递交数
- 311
- 已通过
- 95
- 上传者