AT_abc261_e.[ABC261E] Many Operations

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个变量 XX,以及 NN 种可以改变 XX 值的操作。第 ii 个操作由整数对 (Ti,Ai)(T_i, A_i) 表示,含义如下:

  • 当 Ti=1T_i=1 时,将 XX 的值替换为 X and AiX\ \mathrm{and}\ A_i。
  • 当 Ti=2T_i=2 时,将 XX 的值替换为 X or AiX\ \mathrm{or}\ A_i。
  • 当 Ti=3T_i=3 时,将 XX 的值替换为 X xor AiX\ \mathrm{xor}\ A_i。

请从变量 XX 被初始化为值 CC 的状态开始,依次执行以下操作:

  • 执行操作 11,输出操作后的 XX 的值。
  • 接着,依次执行操作 1,21,2,输出操作后的 XX 的值。
  • 接着,依次执行操作 1,2,31,2,3,输出操作后的 XX 的值。
  • ⋮\vdots
  • 接着,依次执行操作 1,2,…,N1,2,\ldots,N,输出操作后的 XX 的值。

and\mathrm{and}、or\mathrm{or}、xor\mathrm{xor} 的定义如下:对于非负整数 A,BA,B,

  • A and BA\ \mathrm{and}\ B 的二进制表示中,第 2k2^k 位(k≥0k\geq 0)为 A,BA,B 的二进制表示中第 2k2^k 位都为 11 时为 11,否则为 00。
  • A or BA\ \mathrm{or}\ B 的二进制表示中,第 2k2^k 位(k≥0k\geq 0)为 A,BA,B 的二进制表示中第 2k2^k 位至少有一个为 11 时为 11,否则为 00。
  • A xor BA\ \mathrm{xor}\ B 的二进制表示中,第 2k2^k 位(k≥0k\geq 0)为 A,BA,B 的二进制表示中第 2k2^k 位恰好有一个为 11 时为 11,否则为 00。

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

输入格式

输入按以下格式从标准输入读入。

NN CC
T1T_1 A1A_1
T2T_2 A2A_2
⋮\vdots
TNT_N ANA_N

输出格式

请按照题目要求输出 NN 行,每行一个整数。

输入输出样例

  • 输入#1

    3 10
    3 3
    2 5
    1 12

    输出#1

    9
    15
    12
  • 输入#2

    9 12
    1 1
    2 2
    3 3
    1 4
    2 5
    3 6
    1 7
    2 8
    3 9

    输出#2

    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 < 2^{30}
  • 0≤C<2300 \leq C < 2^{30}
  • 输入中的所有值均为整数。

样例解释 1

最初,XX 的值为 1010。

  • 执行操作 11 后,XX 的值变为 99。
  • 接着再执行操作 11,XX 的值变为 1010,再执行操作 22,XX 的值变为 1515。
  • 接着再执行操作 11,XX 的值变为 1212,再执行操作 22,XX 的值变为 1313,再执行操作 33,XX 的值变为 1212。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页