编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#114707 | #1162. 异或 | Compile Error | 0 | 0 ms | 0 K | C++ 17 / 1.6 K | iNx | 2024-08-12 15:00:55 |
#include <iostream>
#include <vector>
#include <map>
#include <cmath>
#include <set>
// #define int long long
using namespace std;
using ll = long long;
constexpr int MAX_N = 3e5 + 7;
int bit[MAX_N];
int n, m;
int lowbit(int x) { return x & (-x); }
void update(int x, int y) {
for (; x <= n; x += lowbit(x)) bit[x] ^= y;
}
int get(int x) {
int res = 0;
for (; x > 0; x -= lowbit(x)) res ^= bit[x];
return res;
}
struct Node {
int l, r, idx;
Node(int _l = 0, int _r = 0, int _idx = 0) : l(_l), r(_r), idx(_idx) {}
bool operator<(const Node &u) const {
if (r < u.r)
return true;
if (r > u.r)
return false;
return l < u.l;
}
};
signed main() {
ios::sync_with_stdio(false);
cin >> n;
vector<int> a(n), s(n + 1, 0);
for (int i = 0; i < n; i++) {
cin >> a[i];
s[i + 1] = a[i] ^ s[i];
}
vector<Node> qs;
cin >> m;
for (int i = 0; i < m; i++) {
int l, r;
cin >> l >> r;
--l;
qs.emplace_back(l, r, i);
}
sort(qs.begin(), qs.end());
vector<int> ans(m);
int i = 0;
map<int, int> mp;
for (auto [l, r, idx] : qs) {
while (i < n && i < r) {
if (mp.count(a[i])) {
update(mp[a[i]], a[i]);
}
mp[a[i]] = i + 1;
update(i + 1, a[i]);
i++;
}
ans[idx] = get(r) ^ get(l) ^ s[r] ^ s[l];
}
for (int i = 0; i < m; i++) {
cout << ans[i] << "\n";
}
return 0;
}
编译信息
/sandbox/1/a.cpp: In function 'int main()':
/sandbox/1/a.cpp:56:5: error: 'sort' was not declared in this scope; did you mean 'qsort'?
56 | sort(qs.begin(), qs.end());
| ^~~~
| qsort