AT_past202212_o.シフトとシフト

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 NN 的整数序列 A=(A1,A2,…,AN)A = (A_1, A_2, \ldots, A_N)。每个 A1,A2,…,ANA_1, A_2, \ldots, A_N 都是一个 DD 位的十进制整数(没有前导零),且各位数字都不为 0。

你会得到 QQ 个操作请求。每个请求类型为 1、2 或 3,如下所述。请按照输入顺序依次处理 QQ 个请求。

【类型 11】

1    x1\;\;x

对序列 AA 进行 xx 次左循环平移。即若 A=(a1,a2,…,aN)A = (a_1, a_2, \ldots, a_N),操作后 A=(ax+1,ax+2,…,aN,a1,a2,…,ax)A = (a_{x+1}, a_{x+2}, \ldots, a_N, a_1, a_2, \ldots, a_x)。

【类型 22】

2    l    r    y2\;\;l\;\;r\;\;y

对于 i=l,l+1,…,ri = l, l+1, \ldots, r,做如下操作:

令 d1d2…dDd_1 d_2 \ldots d_D 表示 AiA_i 的十进制表示。将 AiA_i 替换成 dy+1dy+2…dDd1d2…dyd_{y+1} d_{y+2} \ldots d_D d_1 d_2 \ldots d_y,即对 AiA_i 的各位数字左循环平移 yy 次后得到的新整数。

【类型 33】

3    l    r3\;\;l\;\;r

输出 Al⊕Al+1⊕⋯⊕ArA_l \oplus A_{l+1} \oplus \cdots \oplus A_r 的结果,这里 ⊕\oplus 表示按位异或运算。

输入格式

输入通过标准输入给出,格式如下:

N    D    A1    A2    …    AN    Q    query1    query2    ⋮    queryQN\;\;D\;\;A_1\;\;A_2\;\;\ldots\;\;A_N\;\;Q\;\;query_1\;\;query_2\;\;\vdots\;\;query_Q

其中 queryiquery_i 的格式分别对应题目描述中的三种类型之一。

输出格式

对于每一个类型 33 的请求,输出一行一个结果。各结果以换行符分隔。

输入输出样例

  • 输入#1

    5 3
    123 234 345 456 567
    5
    3 2 4
    1 3
    3 2 4
    2 3 5 2
    3 2 4

    输出#1

    123
    678
    680
  • 输入#2

    20 6
    318153 438943 474719 114997 373645 598458 427319 171794 653644 463294 123454 842368 264537 215892 467783 121159 836368 946718 889644 865849
    20
    2 6 9 3
    2 8 13 5
    2 1 6 3
    2 14 20 5
    1 7
    2 14 15 4
    3 8 8
    2 4 5 3
    2 7 17 2
    1 19
    2 13 16 4
    2 4 9 2
    3 11 14
    1 8
    2 2 17 3
    3 6 9
    3 6 16
    2 16 17 2
    1 1
    3 3 20

    输出#2

    346778
    710529
    89337
    796525
    709076

说明/提示

样例解释 1

初始时,A=(A1,A2,A3,A4,A5)=(123,234,345,456,567)A = (A_1, A_2, A_3, A_4, A_5) = (123, 234, 345, 456, 567)。

  • 第 11 个请求,输出 A2⊕A3⊕A4=234⊕345⊕456=123A_2 \oplus A_3 \oplus A_4 = 234 \oplus 345 \oplus 456 = 123。
  • 第 22 个请求后,A=(456,567,123,234,345)A = (456, 567, 123, 234, 345)。
  • 第 33 个请求,输出 A2⊕A3⊕A4=567⊕123⊕234=678A_2 \oplus A_3 \oplus A_4 = 567 \oplus 123 \oplus 234 = 678。
  • 第 44 个请求后,A=(456,567,312,423,534)A = (456, 567, 312, 423, 534)。
  • 第 55 个请求,输出 A2⊕A3⊕A4=567⊕312⊕423=680A_2 \oplus A_3 \oplus A_4 = 567 \oplus 312 \oplus 423 = 680。

数据范围

  • 2≤N≤1052 \leq N \leq 10^5
  • 1≤Q≤1051 \leq Q \leq 10^5
  • 2≤D≤92 \leq D \leq 9
  • 10D−1≤Ai<10D10^{D-1} \leq A_i < 10^D
  • AiA_i 的每一位数字都不为 00。
  • 1≤x≤N−11 \leq x \leq N-1
  • 1≤y≤D−11 \leq y \leq D-1
  • 1≤l≤r≤N1 \leq l \leq r \leq N
  • 至少有一个请求是类型 33。
  • 输入中所有数均为整数。

由 ChatGPT 5 翻译

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

首页