#AT2249. E - Many Operations
E - Many Operations
当前没有测试数据。
E - 多种操作
得分:500分
问题描述
我们有一个变量$X$,以及$N$种能改变$X$的值的操作。第$i$种操作用一对整数$(T_i,A_i)$表示,表示以下操作:
- 如果$T_i=1$,则将$X$的值替换为$X\ {\rm and}\ A_i$;
- 如果$T_i=2$,则将$X$的值替换为$X\ {\rm or}\ A_i$;
- 如果$T_i=3$,则将$X$的值替换为$X\ {\rm xor}\ A_i$。
将$X$的初始值设为$C$,按照以下顺序执行操作:
- 先执行操作1,并输出最终的$X$的值。
- 然后,按照操作1、2的顺序执行,输出$X$的值。
- 然后,按照操作1、2、3的顺序执行,输出$X$的值。
- 执行操作$1, 2, \ldots, N$的顺序,输出$X$的值。
什么是${\rm and}, {\rm or}, {\rm xor}$?
非负整数$A$和$B$的${\rm and}, {\rm or}, {\rm xor}$定义如下:
- 当将$A\ {\rm and}\ B$转换成二进制时,$2^k$位($k \geq 0$)的数字为$1$,当且仅当$A$和$B$的该位都为$1$时,否则为$0$。
- 当将$A\ {\rm or}\ B$转换成二进制时,$2^k$位($k \geq 0$)的数字为$1$,当且仅当$A$和$B$的该位中至少有一个为$1$时,否则为$0$。
- 当将$A\ {\rm xor}\ B$转换成二进制时,$2^k$位($k \geq 0$)的数字为$1$,当且仅当$A$和$B$的该位中只有一个为$1$时,否则为$0$。
约束
- $1 \leq N \leq 2\times 10^5$
- $1\leq T_i \leq 3$
- $0\leq A_i \lt 2^{30}$
- $0\leq C \lt 2^{30}$
- 输入的所有值都是整数。
输入
输入以以下格式从标准输入中给出:
输出
按照问题描述输出$N$行。
3 10
3 3
2 5
1 12
9
15
12
$X$的初始值为$10$。
- 操作$1$将$X$改变为$9$。
- 然后,操作$1$将$X$改变为$10$,然后操作$2$将其改变为$15$。
- 然后,操作$1$将$X$改变为$12$,然后操作$2$将其改变为$13$,然后操作$3$将其改变为$12$。
9 12
1 1
2 2
3 3
1 4
2 5
3 6
1 7
2 8
3 9
0
2
1
0
5
3
3
11
2
$X$的初始值为$12$。
- 操作$1$将$X$改变为$0$。
- 然后,操作$1$将$X$改变为$1$,然后操作$2$将其改变为$2$。
- 然后,操作$1$将$X$改变为$0$,然后操作$2$将其改变为$5$,然后操作$3$将其改变为$3$。
- 然后,操作$1$将$X$改变为$3$,然后操作$2$将其改变为$11$,然后操作$3$将其改变为$2$。