AT_1_stpc2025_1_m.Many Approaches

通过率:0%

AC君温馨提醒

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

题目描述

有一个公园,里面有 NN 个广场排成一排,每个广场从左到右依次编号为 0,1,…,N−10,1,\dots, N-1。

公园里有 NN 个人,每个人的编号为 0,1,…,N−10,1,\dots, N-1。当你声明一个由 00 到 N−1N-1 的非负整数构成的序列 X=(X1,X2,…,X∣X∣)X=(X_1,X_2,\dots, X_{|X|}) 时,这些人会按照如下方式进行行进:

  1. 对于每个 i=0,1,…,N−1i = 0,1,\dots, N-1,第 ii 号人会移动到编号为 ii 的广场。
  2. 对于每个 j=1,2,…,∣X∣j = 1, 2, \dots, |X|,依次执行以下操作:
    • 所有不在广场 XjX_j 的人,会沿着广场向 XjX_j 的方向移动一个广场的距离。

给定一个长度为 MM,每个元素都是 00 到 N−1N-1 之间的非负整数的序列 A=(A0,A1,…,AM−1)A=(A_0,A_1,\dots, A_{M-1})。

请在线回答 QQ 个查询。对于第 ii 个查询(i=1,2,…,Qi=1,2,\dots, Q),给出整数 ti′,Li′,Ri′,Pi′t_i',L_i',R_i',P_i'。首先根据如下步骤还原 ti,Li,Ri,Pit_i,L_i,R_i,P_i:

  • 令 ans0=0\mathrm{ans}_0=0,ansi=\mathrm{ans}_i=(第 ii 次查询的答案)。
  • 按如下规则还原 ti,Li,Ri,Pit_i,L_i,R_i,P_i:
    • ti=((ti′+ansi−1) mod 2)t_i=((t_i' + \mathrm{ans}_{i-1})\bmod 2)
    • a=((Li′+ansi−1) mod M)a=((L_i' + \mathrm{ans}_{i-1})\bmod M)
    • b=((Ri′+ansi−1) mod M)b=((R_i' + \mathrm{ans}_{i-1})\bmod M)
    • Li=min⁡(a,b)L_i=\min(a,b)
    • Ri=max⁡(a,b)R_i=\max(a,b)
    • Pi=((Pi′+ansi−1) mod N)P_i=((P_i' + \mathrm{ans}_{i-1})\bmod N)

这里对于非负整数 aa 和正整数 bb,有 (a mod b)(a\bmod b) 表示 aa 除以 bb 的余数。这个值的取值范围为 00 到 b−1b-1。

对于恢复得到的 ti,Li,Ri,Pit_i,L_i,R_i,P_i,请按如下方式回答每个查询:

  • 若 ti=0t_i=0:声明 X=(ALi,ALi+1,…,ARi)X=(A_{L_i},A_{L_i+1},\dots, A_{R_i}) 并按照行进的规则执行,输出最终第 PiP_i 号人所在的广场编号。
  • 若 ti=1t_i=1:声明 X=(ALi,ALi+1,…,ARi)X=(A_{L_i},A_{L_i+1},\dots, A_{R_i}) 并按照行进的规则执行,输出最终在编号为 PiP_i 的广场上的人数。

输入格式

输入格式如下:

NN MM QQ
A0A_0 A1A_1 …\dots AM−1A_{M-1}
t1′t_1' L1′L_1' R1′R_1' P1′P_1'
t2′t_2' L2′L_2' R2′R_2' P2′P_2'
⋮\vdots
tQ′t_Q' LQ′L_Q' RQ′R_Q' PQ′P_Q'

输出格式

输出共 QQ 行。第 ii 行输出第 ii 条查询的答案 ansi\mathrm{ans}_i。

输入输出样例

  • 输入#1

    4 5 3
    0 2 3 2 1
    0 1 3 2
    1 0 2 1
    1 4 4 1

    输出#1

    2
    0
    3
  • 输入#2

    7 4 1
    3 3 3 3
    1 3 0 3

    输出#2

    7

说明/提示

样例解释 1

对于第 11 条查询,有 (ti,Li,Ri,Pi)=(0,1,3,2)(t_i,L_i,R_i,P_i)=(0,1,3,2)。声明 X=(A1,A2,A3)=(2,3,2)X=(A_1,A_2,A_3)=(2,3,2) 并按照行进规则执行,第 22 号人会按广场 2→2→3→22\to 2\to 3\to 2 的顺序移动。因此答案为 22。

对于第 22 条查询,有 (ti,Li,Ri,Pi)=(1,2,4,3)(t_i,L_i,R_i,P_i)=(1,2,4,3)。声明 X=(A2,A3,A4)=(3,2,1)X=(A_2,A_3,A_4)=(3,2,1) 并按照行进规则执行,最终每个广场上的人数从 00 号到 33 号依次为 0,4,0,00,4,0,0。因此答案为 00。

对于第 33 条查询,有 (ti,Li,Ri,Pi)=(1,4,4,1)(t_i,L_i,R_i,P_i)=(1,4,4,1)。声明 X=(A4)=(1)X=(A_4)=(1) 并按照行进规则执行,最终每个广场上的人数从 00 号到 33 号依次为 0,3,1,00,3,1,0。因此答案为 33。

数据范围

  • 所有输入均为整数
  • 1≤N,M,Q≤2×1051\le N,M,Q\le 2\times 10^5
  • 0≤Ai≤N−1 (0≤i≤M−1)0\le A_i\le N-1\ (0\le i\le M-1)
  • 0≤ti′,ti≤1 (1≤i≤Q)0\le t_i',t_i\le 1\ (1\le i\le Q)
  • 0≤Li′,Ri′≤M−1 (1≤i≤Q)0\le L_i',R_i'\le M-1\ (1\le i\le Q)
  • 0≤Li≤Ri≤M−1 (1≤i≤Q)0\le L_i \le R_i\le M-1\ (1\le i\le Q)
  • 0≤Pi′,Pi≤N−1 (1≤i≤Q)0\le P_i',P_i\le N-1\ (1\le i\le Q)

由 ChatGPT 5 翻译

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

首页