CF2123G.Modular Sorting

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个整数 mm 和一个由 <m< m 的非负整数构成的序列 aa。

你需要处理以以下格式给出的操作:

  • 11 ii xx:将 aia_i 赋值为 xx。
  • 22 kk:询问如果你可以选择 aa 若干个元素 aia_i(也可不选),将其变成 (ai+x×k)(modm)(a_i+x\times k) \pmod m,其中 xx 为任意正整数(不同元素选取的 xx 可以不同),是否可能让 aa 变得单调不降。

注意,每次操作 22 都是独立的,即序列不会发生变化;但操作 11 的赋值是永久性的。

输入格式

第一行一个整数 tt,表示数据组数。

对于每组数据:

第一行三个整数 nn,mm,qq,分别表示序列 aa 的长度,操作 22 的模数,和操作的次数。

第二行 nn 个整数,第 ii 个表示 aia_i。

接下来 qq 行,每行一个操作。

输出格式

对于每个操作 22,如果可能使序列 aa 单调不降,输出 YES,否则输出 NO。大小写不敏感。

输入输出样例

  • 输入#1

    2
    7 6 6
    4 5 2 2 4 1 0
    2 4
    1 4 5
    2 4
    2 3
    1 7 2
    2 3
    8 8 3
    0 1 2 3 4 5 6 7
    2 4
    1 3 4
    2 4

    输出#1

    YES
    NO
    NO
    YES
    YES
    NO

说明/提示

样例解释

对于第一组数据:

第一次操作 22 时,序列 aa 中的元素为 [4,5,2,2,4,1,0][4,5,2,2,4,1,0],且 k=4k=4。如果我们选择修改第 1,2,5,6,71,2,5,6,7 个元素,选取的 xx 分别为 2,2,1,2,12,2,1,2,1,那么序列 aa 中的元素就会变为 [0,1,2,2,2,3,4][0,1,2,2,2,3,4],它是单调不降序列。

第二次操作 22 时,序列 aa 中的元素为 [4,5,2,5,4,1,0][4,5,2,5,4,1,0],且 k=4k=4,可以证明不存在使得序列 aa 单调不降的方案。

数据范围

1≤t≤1041 \le t\le 10^4,2≤m≤5⋅1052 \le m \le 5 \cdot 10^5,2≤n≤1052 \le n \le 10^5,1≤q≤1051 \le q \le 10^5,$ 0 \le a_i < m$。

对于操作 11,1≤i≤n1 \le i \le n , $ 0 \le x < m $;

对于操作 22,1≤k<m1 \le k < m。

保证所有数据的 nn 和 qq 总和均不超过 10510^5。

翻译由 @Shellchen 提供

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

首页