#4594. Many Operations

0
    ID: 4594 传统题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>AtCoderabc261EGESP 5级位运算(复杂)模拟

Many Operations

Many Operations

题目描述

我们有一个变量 XX 和 NN 类会改变 XX 值的操作。操作 ii 用整数对 (Ti,Ai)(T_i,A_i) 表示,定义如下操作:

如果 Ti=1T_i=1,则将 XX 的值替换为 X and AiX\ {\rm and}\ A_i; 如果 Ti=2T_i=2,则将 XX 的值替换为 X or AiX\ {\rm or}\ A_i; 如果 Ti=3T_i=3,则将 XX 的值替换为 X xor AiX\ {\rm xor}\ A_i。

用值 CC 初始化 XX,并按顺序执行下列过程:

执行 操作 11,然后输出结果的 XX 的值。 接着,按此顺序执行 操作 1,21, 2,然后输出 XX 的值。 接着,按此顺序执行 操作 1,2,31, 2, 3,然后输出 XX 的值。 ⋮\vdots 接着,按此顺序执行 操作 1,2,…,N1, 2, \ldots, N,然后输出 XX 的值。

什么是 ${\rm and}, {\rm or}, {\rm xor}$? 对非负整数 $A$ 和 $B$,${\rm and}, {\rm or}, {\rm xor}$ 定义如下:

当 A and BA\ {\rm and}\ B 用二进制表示时,2k2^k 位 (k≥0k \geq 0) 的二进制位当且仅当 AA 和 BB 在该位的二进制位都为 11 时为 11,否则为 00。 当 A or BA\ {\rm or}\ B 用二进制表示时,2k2^k 位 (k≥0k \geq 0) 的二进制位当且至少有一个在 AA 或 BB 的该位为 11 时为 11,否则为 00。 当 A xor BA\ {\rm xor}\ B 用二进制表示时,2k2^k 位 (k≥0k \geq 0) 的二进制位当且仅当 AA 和 BB 在该位恰好有一个为 11 时为 11,否则为 00。

例如,3 and 5=13\ {\rm and}\ 5 = 1,3 or 5=73\ {\rm or}\ 5 = 7,和 3 xor 5=63\ {\rm xor}\ 5 = 6。

输入格式

输入从标准输入按以下格式给出: NN CC T1T_1 A1A_1 T2T_2 A2A_2 ⋮\vdots TNT_N ANA_N

输出格式

按题目描述输出 NN 行。

3 10
3 3
2 5
1 12
9
15
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

提示

1≤N≤2×1051 \leq N \leq 2\times 10^5 1≤Ti≤31\leq T_i \leq 3 0≤Ai<2300\leq A_i \lt 2^{30} 0≤C<2300\leq C \lt 2^{30} 输入中的所有数值均为整数。初始的 XX 值为 1010。

操作 11 将 XX 变为 99。 接着,操作 11 将 XX 变为 1010,然后操作 22 将它变为 1515。 接着,操作 11 将 XX 变为 1212,然后操作 22 将它变为 1313,然后操作 33 将它变为 1212。

标签: AtCoder|abc261E

来源

AtCoder|abc261E