#13122. 珅泽教育CSP-J第一轮模拟考第二十九套 第 23 题
珅泽教育CSP-J第一轮模拟考第二十九套 第 23 题
二、程序阅读题(第 16—18 大题,共 18 个小题,40 分)
程序阅读(和等于异或的子数组计数)
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
long long a[N], s[N], x[N];
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
scanf("%lld", &a[i]);
s[i] = s[i - 1] + a[i];
x[i] = x[i - 1] ^ a[i];
}
long long ans = 0;
int L = 1, R = 1;
for (; R <= n; R++) {
while (L <= R && (s[R] - s[L - 1]) != (x[R] ^ x[L - 1])) L++;
if (L > n) break;
ans += R - L + 1;
}
cout << ans;
return 0;
}
将第 16 行代码中的 R=1 改为 R=0,程序运行结果改变。
{{ select(1) }}
- 正确
- 错误