atcoder#AGC052D. [AGC052D] Equal LIS

[AGC052D] Equal LIS

配点 : 10001000

問題文

11 から NN までの整数を並べ替えた列 P1,P2,,PNP_1, P_2, \dots, P_N が与えられます。 これを、最長増加部分列の長さが等しいような 22 つの部分列に分けることは可能でしょうか。

形式的に述べると、目標は以下の条件を全て満たす 22 つの整数列 a,ba, b を得ることです。

  • a,ba, b はともに PP の部分列である。
  • 各整数 i=1,2,,Ni=1,2,\cdots,Na,ba, b のいずれかちょうど一方に現れる。
  • (aa の最長増加部分列の長さ) == (bb の最長増加部分列の長さ)

目標が達成可能か判定してください。

テストケースは TT 個与えられるので、それぞれを解いてください。

制約

  • 1T21051 \le T \le 2 \cdot 10^5
  • 1N21051 \le N \le 2 \cdot 10^5
  • P1,P2,,PNP_1, P_2, \dots, P_N11 から NN までの整数を並べ替えた列である。
  • 全テストケースにおける NN の総和は 21052 \cdot 10^5 以下である。

入力

入力は以下の形式で標準入力から与えられる。 入力の 11 行目は次の通りである。

TT

そして、それぞれ以下の形式で TT 個のテストケースが続く。

NN

P1P_1 P2P_2 \dots PNP_N

出力

各テストケースについて、与えられた並びを最長増加部分列の長さが等しいような 22 つの部分列に分けることが可能なら YES、そうでなければ NO と出力せよ。 11 行につき 11 個のテストケースへの出力を行え。 なお、正誤判定器は英大文字と英小文字を区別せず、どちらも受理する。

5
1
1
2
2 1
3
1 2 3
5
1 3 5 2 4
6
2 3 4 5 6 1
NO
YES
NO
YES
NO

[1,3,5,2,4][1, 3, 5, 2, 4][1,5][1, 5][3,2,4][3, 2, 4] に分けると、両者とも最長増加部分列の長さが 22 となります。

[2,3,4,5,6,1][2, 3, 4, 5, 6, 1] については、最長増加部分列の長さが等しいような 22 つの部分列に分けることは不可能であることが示せます。