AT_abc410_c.[ABC410C] Rotatable Array

普及-

通过率:0%

AC君温馨提醒

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

题目描述

给你一个长度为 NN 的数列 AA,初始时 Ai=iA_i=i。

对 AA 执行以下操作共 QQ 个:

  • 操作一:Ap←xA_p\leftarrow x。
  • 操作二:询问 ApA_p。
  • 操作三:将 AA 循环左移 kk 个元素长度。
    • 形式化地,执行 A←(A2,A3,⋯ ,AN,A1)A\leftarrow (A_2,A_3,\cdots,A_N,A_1) 操作 kk 次。

输入格式

第一行两个整数 N,Q(1≤N≤106,1≤Q≤3×105)N,Q(1\le N\le 10^6,1\le Q\le 3\times 10^5)。
接下来 QQ 行,第一个数字表示操作类型。
对于操作一,接下来两个整数 p,xp,x;
对于操作二,接下来一个整数 pp;
对于操作三,接下来一个整数 kk。
保证 1≤p≤N,1≤x≤106,1≤k≤1091\le p\le N,1\le x\le 10^6,1\le k\le 10^9。

输出格式

对于每次操作二,输出一行一个整数表示回答。

输入输出样例

  • 输入#1

    5 5
    2 3
    1 2 1000000
    3 4
    2 2
    2 3

    输出#1

    3
    1
    1000000
  • 输入#2

    1000000 2
    1 1000000 999999
    3 1000000000

    输出#2

说明/提示

样例 1 解释

有 55 个询问。

  • 初始时,A=(1,2,3,4,5)A=(1,2,3,4,5)。
  • 第一次操作,询问 A3=3A_3=3。
  • 第二次操作,A2←1000000A_2\leftarrow1000000。A=(1,1000000,3,4,5)A=(1,1000000,3,4,5)。
  • 第三次操作,AA 循环左移 44 个元素长度,A=(5,1,1000000,3,4)A=(5,1,1000000,3,4)。
  • 第四次操作:询问 A2=1A_2=1。
  • 第五次操作:询问 A3=1000000A_3=1000000。

样例 2 解释

输出可能是空的。

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

首页