编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#23873 #1001. A. 神秘谜题 Accepted 100 1085 ms 19748 K C++ / 905 B 电类935-郑新宇 2020-02-22 9:37:04
显示原始代码
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int n, p, x, sum[32], tot;
struct tree {
    int m, next[2];
} kk[6200010];
void insert(int num) {
    int u = 0;
    for (int i = 0; i < 32; i++) {
        int c = (num >> i) & 1;
        if (!kk[u].next[c])
            kk[u].next[c] = ++tot;
        kk[u].m++;
        u = kk[u].next[c];
        if (c == 1)
            sum[i]++;
    }
    return;
}
void update(int index, int dep) {
    if (kk[index].next[1])
        update(kk[index].next[1], dep + 1);
    if (kk[index].next[0])
        sum[dep] += kk[kk[index].next[0]].m;
    if (kk[index].next[1])
        sum[dep] -= kk[kk[index].next[1]].m;
    swap(kk[index].next[0], kk[index].next[1]);
    return;
}
int que() {
    int ans = 0;
    for (int i = 0; i < 32; i++) ans |= ((sum[i] & 1) << i);
    return ans;
}
int main() {
    //	freopen("in.txt","r",stdin);
    cin >> n;
    for (int k = 1; k <= n; k++) {
        cin >> p;
        if (p == 1)
            update(0, 0);
        else {
            cin >> x;
            insert(x);
        }
        cout << que() << endl;
    }
    return 0;
}
子任务 #1
Accepted
得分:100
测试点 #1
Accepted
得分:100
用时:518 ms
内存:19684 KiB

输入文件(1.in

200000
2 526767110
2 724642759
2 567837900
2 104106873
2 357915481
2 33997211
2 444788944
2 
<1586974 bytes omitted>

答案文件(1.ans

526767110
877985729
361528077
330887284
116239149
82537142
510237286
843295274
453728745
55
<2188330 bytes omitted>

用户输出

526767110
877985729
361528077
330887284
116239149
82537142
510237286
843295274
453728745
559263713
323554710
713540578
520942594
<1988302 bytes omitted>

系统信息

Exited with return code 0
测试点 #2
Accepted
得分:100
用时:567 ms
内存:19748 KiB

输入文件(2.in

200000
2 515979308
2 512702340
2 684230440
2 488136957
2 598252313
2 283603971
2 349877373
2
<1586842 bytes omitted>

答案文件(2.ans

515979308
5115816
679905408
899606653
372667236
114362215
302756634
473674072
520218589
525
<2192841 bytes omitted>

用户输出

515979308
5115816
679905408
899606653
372667236
114362215
302756634
473674072
520218589
525056845
703148326
764590712
207056035

<1992813 bytes omitted>

系统信息

Exited with return code 0