問題一覧 > 通常問題

No.2107 Entangled LIS

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 9
作問者 : SumitacchanSumitacchan / テスター : 👑 hitonanodehitonanode 👑 ygussanyygussany
1 ProblemId : 8330 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2022-10-08 11:14:03

問題文

a,b からなる長さ $N$ の文字列 $s=s_1s_2\dots s_N$ と正整数 $A,B$ が与えられます。

次の条件を全て満たすような、長さ $N$ の整数列の組 $a=(a_1,a_2,\dots,a_N),b=(b_1,b_2,\dots,b_N)$ は存在するでしょうか。

  • $2N$ 個の整数 $a_1,a_2,\dots,a_N,b_1,b_2,\dots,b_N$ には $1$ 以上 $2N$ 以下の整数が $1$ 個ずつ含まれる。
  • 整数列 $a=(a_1,a_2,\dots,a_N)$ の最長増加部分列の長さは $A$ である。
  • 整数列 $b=(b_1,b_2,\dots,b_N)$ の最長増加部分列の長さは $B$ である。
  • $i=1,2,\dots,N$ のそれぞれに対して、$s_i=$ a ならば $a_i > b_i$ であり、$s_i=$ b ならば $a_i < b_i$ である。

存在するならば、そのような整数列の組 $a,b$ を一つ示してください。

一つの入力につき、$T$ 個のテストケースに答えてください。

制約

  • $1 \le T \le 2 \times 10^4$
  • $1 \le N \le 2 \times 10^5$
  • $1 \le A,B \le N$
  • $T,N,A,B$ は整数である。
  • $s$ は a,b からなる長さ $N$ の文字列である。
  • 一つの入力に含まれる $T$ 個のテストケースにおいて、$N$ の総和は $2\times10^5$ 以下である。

入力

まず $1$ 行目に、入力に含まれるテストケースの数 $T$ が与えられます。

$T$

その後、$2T$ 行にわたって $T$ 個のテストケースが与えられます。各テストケースは次の形式で $2$ 行にわたって与えられます。

$N\ \ A\ \ B$
$s$

出力

各テストケースに対する回答を順番に以下の通りに出力し、テストケースごとに改行してください。

  • 条件を満たす整数列の組 $a,b$ が存在しない場合は No を出力してください。
  • 存在する場合は、Yes および $a,b$ を次の形式で出力してください(条件を満たす $a,b$ が複数存在する場合はいずれを出力しても構いません)。
    Yes
    $a_1\ \ a_2\ \ \cdots\ \ a_N$
    $b_1\ \ b_2\ \ \cdots\ \ b_N$

サンプル

サンプル1
入力
3
4 3 2
bbaa
2 2 1
ab
5 5 5
bbbbb
出力
Yes
1 7 5 6
3 8 4 2
No
Yes
1 2 3 4 5
6 7 8 9 10

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。