atcoder#ARC102D. [ARC102F] Revenge of BBuBBBlesort!

[ARC102F] Revenge of BBuBBBlesort!

题目描述

1,2,...,N 1,2,...,N の並び替え p1,p2,...,pN p_1,p_2,...,p_N が与えられます。以下の操作を好きなだけ繰り返してすべての i i に対して pi=i p_i=i となるようにできるか判定してください。

  • pi1 > pi > pi+1 p_{i-1}\ >\ p_{i}\ >\ p_{i+1} なる 3 3 項組 (2 i N1 2\leq\ i\leq\ N-1 ) を選び、この 3 3 項を逆順に並び替える。

输入格式

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

N N p1 p_1 : : pN p_N

输出格式

操作を繰り返してすべての i i に対して pi=i p_i=i となるようにできる場合は Yes を、そうでない場合は No を出力せよ。

题目大意

给定长度为 n (3105)n~(\leq 3*10^5) 的排列 pp, 可以进行无限次操作, 问最终能否将其排成升序. 其中, 一次操作定义为:

  • 选择 ii 使得 2in1 2 \leq i \leq n-1pi1>pi>pi+1p_{i-1}>p_i>p_{i+1}. 交换 pi1,pi+1p_{i-1},p_{i+1}.
5
5
2
1
4
3
Yes
4
3
2
4
1
No
7
3
2
1
6
5
4
7
Yes
6
5
3
4
1
2
6
No

提示

制約

  • 3  N  3 × 105 3\ \leq\ N\ \leq\ 3\ ×\ 10^5
  • p1,p2,...,pN p_1,p_2,...,p_N 1,2,...,N 1,2,...,N の並び替えである

Sample Explanation 1

以下の操作ですべての i i に対して pi=i p_i=i となるようにできます。 - p1,p2,p3 p_1,p_2,p_3 を逆順に並び替える。列 p p 1,2,5,4,3 1,2,5,4,3 となる。 - p3,p4,p5 p_3,p_4,p_5 を逆順に並び替える。列 p p 1,2,3,4,5 1,2,3,4,5 となる。