#4326. K Swap

0
    ID: 4326 传统题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>AtCoderabc254CGESP 5级数论枚举(单层循环)

K Swap

K Swap

题目描述

我们有一个长度为 NN 的序列:A=(a1,…,aN)A=(a_1,\ldots,a_N)。另外,给定一个整数 KK。 你可以进行以下操作任意次(包括零次)。

选择一个整数 ii 满足 1≤i≤N−K1 \leq i \leq N-K,然后交换 aia_i 和 ai+Ka_{i+K} 的值。

判断是否可以将 AA 按升序排序。

输入格式

输入从标准输入给出,格式如下: NN KK a1a_1 …\ldots aNa_N

输出格式

如果可以将 AA 排序为升序,输出 YesYes;否则,输出 NoNo。

5 2
3 4 1 3 4
Yes
5 3
3 4 1 3 4
No
7 5
1 2 3 4 5 5 10
Yes

提示

2≤N≤2×1052 \leq N \leq 2 \times 10^5 1≤K≤N−11 \leq K \leq N-1 1≤ai≤1091 \leq a_i \leq 10^9 输入中的所有数值均为整数。下面的一系列操作可以将 AA 排序为升序。

选择 i=1i=1 交换 a1a_1 和 a3a_3 的值。此时 AA 变为 (1,4,3,3,4)(1,4,3,3,4)。 选择 i=2i=2 交换 a2a_2 和 a4a_4 的值。此时 AA 变为 (1,3,3,4,4)(1,3,3,4,4)。
可能不需要任何操作。

标签: AtCoder|abc254C

来源

AtCoder|abc254C