AT_past202212_o.シフトとシフト
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个长度为 N 的整数序列 A=(A1,A2,…,AN)。每个 A1,A2,…,AN 都是一个 D 位的十进制整数(没有前导零),且各位数字都不为 0。
你会得到 Q 个操作请求。每个请求类型为 1、2 或 3,如下所述。请按照输入顺序依次处理 Q 个请求。
【类型 1】
1x
对序列 A 进行 x 次左循环平移。即若 A=(a1,a2,…,aN),操作后 A=(ax+1,ax+2,…,aN,a1,a2,…,ax)。
【类型 2】
2lry
对于 i=l,l+1,…,r,做如下操作:
令 d1d2…dD 表示 Ai 的十进制表示。将 Ai 替换成 dy+1dy+2…dDd1d2…dy,即对 Ai 的各位数字左循环平移 y 次后得到的新整数。
【类型 3】
3lr
输出 Al⊕Al+1⊕⋯⊕Ar 的结果,这里 ⊕ 表示按位异或运算。
输入格式
输入通过标准输入给出,格式如下:
NDA1A2…ANQquery1query2⋮queryQ
其中 queryi 的格式分别对应题目描述中的三种类型之一。
输出格式
对于每一个类型 3 的请求,输出一行一个结果。各结果以换行符分隔。
输入输出样例
输入#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)。
- 第 1 个请求,输出 A2⊕A3⊕A4=234⊕345⊕456=123。
- 第 2 个请求后,A=(456,567,123,234,345)。
- 第 3 个请求,输出 A2⊕A3⊕A4=567⊕123⊕234=678。
- 第 4 个请求后,A=(456,567,312,423,534)。
- 第 5 个请求,输出 A2⊕A3⊕A4=567⊕312⊕423=680。
数据范围
- 2≤N≤105
- 1≤Q≤105
- 2≤D≤9
- 10D−1≤Ai<10D
- Ai 的每一位数字都不为 0。
- 1≤x≤N−1
- 1≤y≤D−1
- 1≤l≤r≤N
- 至少有一个请求是类型 3。
- 输入中所有数均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?