AT_abc354_f [ABC354F] Useless for LIS
Description
[problemUrl]: https://atcoder.jp/contests/abc354/tasks/abc354_f
長さ $ N $ の整数列 $ A $ が与えられます。
$ t\ =\ 1,\ 2,\ \dots\ ,N $ について、 $ A_t $ が $ A $ の最長増加部分列に含まれることがあるか判定してください。
$ A_t $ が $ A $ の最長増加部分列に含まれることがあるとは、以下のことをいいます。
- 最長増加部分列の長さを $ L $ とする。各要素が $ 1 $ 以上 $ N $ 以下の単調増加な整数列 $ i\ =\ (i_1,\ i_2,\ \dots\ ,i_L)\ (i_1\ であって以下をすべて満たすものが存在する。 $
- $ A_{i_1} $
- ある $ k\ (1\ \leq\ k\ \leq\ L) $ が存在して $ i_k\ =\ t $ である
$ T $ 個のテストケースが与えられるので、それぞれについて答えを求めてください。
最長増加部分列とは?列 $ A $ の部分列とは $ A $ の要素をいくつか抜き出して元の順に並べてできる列を指します。
列 $ A $ の最長増加部分列とは、 $ A $ の狭義単調増加な部分列のうち列の長さが最大のものを指します。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ T $ $ \mathrm{case}_1 $ $ \mathrm{case}_2 $ $ \vdots $ $ \mathrm{case}_T $
ここで $ \mathrm{case_i} $ は $ i $ 番目のケースの入力を意味する。各ケースは以下の形式で与えられる。
> $ N $ $ A_1 $ $ A_2 $ $ \cdots $ $ A_N $
Output Format
以下の形式で出力せよ。
> $ \mathrm{answer}_1 $ $ \mathrm{answer}_2 $ $ \vdots $ $ \mathrm{answer}_T $
ここで $ \mathrm{answer}_i $ は $ i $ 番目のケースの出力を意味する。各ケースについては、次の通りである。
$ A_t $ が $ A $ の最長増加部分列に含まれることがある $ t $ が $ m $ 個存在し、昇順に $ i_1,\ i_2,\ \dots\ ,i_m $ であったとする。このとき、以下の形式で出力せよ。
> $ m $ $ i_1 $ $ i_2 $ $ \cdots $ $ i_m $
Explanation/Hint
### 制約
- $ 1\ \leq\ T\ \leq\ 2\ \times\ 10^5 $
- $ 1\ \leq\ N\ \leq\ 2\ \times\ 10^5 $
- $ 1\ \leq\ A_i\ \leq\ 10^9 $
- 全てのテストケースにおける $ N $ の総和は $ 2\ \times\ 10^5 $ 以下
### Sample Explanation 1
最長増加部分列の $ 1 $ つは $ (2,\ 4,\ 5) $ で、長さは $ 3 $ です。$ (1,\ 4,\ 5) $ も最長増加部分列の $ 1 $ つです。しかし、 $ A_5 $ を含む最長増加部分列はありません。 よって、 $ 1,\ 2,\ 3,\ 4 $ を出力します。