No.1802 Range Score Query for Bracket Sequence
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 80
作問者 :
NatsubiSogan
/ テスター :
Forested
penguinman
タグ : / 解いたユーザー数 80
作問者 :


問題文最終更新日: 2021-12-16 21:26:21
問題文
左右対称な括弧列 を、以下のいずれかの条件を満たす 空でない 文字列と定義します。
()
- ある左右対称な括弧列
が存在し、(
, ,)
をこの順に連結した文字列
また、(
, )
のいずれかからなる文字列
- 以下の操作を繰り返すことができる回数。
の 連続 部分列であって左右対称な括弧列であるようなもののうち、最長のものを つ選び、削除する。- なお、部分列を取り除く順番に拠らずこの回数が一意に定まることは証明可能である。
(
, )
のいずれかからなる長さ
1 i
: の 文字目を、(
,)
のうち現在とは異なる文字に変更する。2 l r
: の 文字目から 文字目を取り出した部分文字列のスコアを出力する。
入力
は を満たす整数 は を満たす整数 は(
,)
のいずれかからなる長さ の文字列1 i
の形式のクエリについて、 は を満たす整数2 l r
の形式のクエリについて、 は を満たす整数2 l r
の形式のクエリが 回以上登場する
出力
2 l r
の形式のクエリそれぞれについて、
出力クエリ
サンプル
サンプル1
入力
5 3 (())) 2 1 4 1 4 2 2 5
出力
1 2
について: の 文字目から 文字目を取り出した部分文字列、すなわち(())
についてのスコアを求めます。これ自体が左右対称な括弧列なので、この値は明らかに です。 について: の 文字目が)
から(
に変更され、 が(()()
となります。 について: の 文字目から 文字目を取り出した部分文字列、すなわち()()
についてのスコアを求めます。この値は となります。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。