atcoder#ABC254C. [ABC254C] K Swap

[ABC254C] K Swap

题目描述

長さ N N の数列 A=(a1,,aN) A=(a_1,\ldots,a_N) があります。また、整数 K K が与えられます。

あなたは次の操作を 0 0 回以上何度でも行えます。

  • 1  i  NK 1\ \leq\ i\ \leq\ N-K を満たす整数 i i を選び、ai a_i ai+K a_{i+K} の値を入れ替える。

A A を昇順に並べ替えることが出来るかどうかを判定してください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N K K a1 a_1 \ldots aN a_N

输出格式

A A を昇順に並び替えることが出来るならば Yes と、出来ないならば No と出力せよ。

题目大意

题目翻译

给出一个长为 nn 的数列 a1,a2,,ana_1, a_2, \cdots, a_n。再给一个整数 kk

每次可以选一个下标 ii1ink1 \le i \le n - k),将 aia_iai+ka_{i + k} 交换。

问能否通过交换让数列 aa 成为升序(任意 aiai+1a_i \le a_{i +1})?

translate by

https://www.luogu.com.cn/user/367488

输入格式

输入包括两行,第一行有 22 个正整数 n,kn, k

第二行有 nn 个正整数 a1,a2,,ana_1, a_2, \cdots, a_n

输出格式

如果可以通过交换变成升序,输出 Yes\texttt{Yes}。不能变成升序,输出 No\texttt{No}

数据范围

2n2×1052 \le n \le 2 \times 10^51kn11 \le k \le n - 11ai1091 \le a_i \le 10^9

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 × 105 2\ \leq\ N\ \leq\ 2\ \times\ 10^5
  • 1  K  N1 1\ \leq\ K\ \leq\ N-1
  • 1  ai  109 1\ \leq\ a_i\ \leq\ 10^9
  • 入力はすべて整数

Sample Explanation 1

次のように操作をすることで A A を昇順に並び替えることが出来ます。 - i=1 i=1 とし、a1 a_1 a3 a_3 の値を入れ替える。数列は (1,4,3,3,4) (1,4,3,3,4) となる。 - i=2 i=2 とし、a2 a_2 a4 a_4 の値を入れ替える。数列は (1,3,3,4,4) (1,3,3,4,4) となる。

Sample Explanation 3

操作を行う必要が無い場合もあります。