問題一覧 > 通常問題

No.1894 Delete AB

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 125
作問者 : Shirotsume / テスター : Kanten4205 👑 ygussany
4 ProblemId : 7812 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2022-07-20 02:07:34

問題文

A, B からなる長さ NN の文字列 SS が与えられます。

SS に対して以下の操作を 00 回以上行ってできる文字列のうち、辞書順で最大のものを求めてください。

  • SS に含まれる連続部分文字列 AB のうち、好きなものを選んで消去する。その後、残った文字列を順序を保ったまま結合する。

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

辞書順とは(クリックで展開)

22 つの相異なる文字列 X, YX, \ Y が与えられたとき、 XXYY の辞書順による大小は以下のように決まります。XXii 文字目を XiX_i のように表します。

  • XXYY のうち、長さが短い方の文字列の長さを LL とする。
  • XiYiX_i \neq Y_i なる ii (1iL)(1 \leq i \leq L) が存在するならば、そのうち最小の iijj とする。アルファベット順で Xj<YjX_j < Y_j ならば X<YX < YXj>YjX_j > Y_j ならば X>YX > Y と決定する。
  • XiYiX_i \neq Y_i なる ii が存在しないならば、X,YX, Y の長さ X, Y|X|, \ |Y| を比較し、 X<Y|X| < |Y| ならば X<YX < YX>Y|X| > |Y| ならば X>YX > Y と決定する。

制約

  • 1T1041 \leq T \leq 10^4
  • 1N2×1051 \leq N \leq 2 \times 10^5
  • TTNN は整数
  • SSA, B からなる長さ NN の文字列
  • 11 つの入力ファイルにおいて、 NN の総和は 2×1052 \times 10^5 以下

入力

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

TT

以下、 TT 個のテストケースがそれぞれ以下の形式で与えられる。

NN
SS

出力

TT 行にわたって出力せよ。ii (1iT)(1 \leq i \leq T) 行目には、 ii 番目のテストケースに対する答えを出力せよ。

最後に改行すること。

サンプル

サンプル1
入力
5
5
ABABB
3
BAB
6
AAABBB
4
ABAB
8
BBABBABA
出力
B
BAB
AB
ABAB
BBBABA

55 つのテストケースが与えられています。

11 つめのテストケースについて、 ABABB11 文字目と 22 文字目は AB となっています。これを消去すると、できる文字列は ABB です。 その後、 ABB から AB を消去することで、 B を得ることができます。SS から操作を行うことで B より辞書順で大きい文字列を作ることはできないので答えは B です。

22 つめのテストケースについて、 BAB2,32, 3 文字目は AB となっていて、これを消去すると B が得られます。しかし、辞書順で BAB >> B なので、より大きい BAB が答えです。

33 つめのテストケースでは、 AAABBB \rightarrow AABB \rightarrow AB と操作することで、辞書順最大の文字列 AB を得ることができます。

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