問題は:
長さ n の文字列と m のクエリを指定します。
各クエリは、次の 2 つのケースのいずれかです。
- i 番目の文字を逆に変更する
- u 番目の文字から v 番目の文字までの部分文字列が正しいかっこ式であるかどうかを確認します。はいの場合は 1 を出力し、そうでない場合は 0 を出力します。
制限時間:0.2秒
これらの場合、正しいブラケット式が定義されます。
長さが 0 の文字列
'(' と ')' のみを含む文字列
A が正しいブラケット式の場合、(A) も正しいブラケット式です
A と B が正しい括弧式の場合、AB も正しい括弧式です
私の主なアイデアは、CodeForces の問題380Cに似ています。 http://codeforces.com/blog/entry/10363
次に、指定された範囲内の最長のサブシーケンスが範囲の長さと等しいかどうかを確認して、答えを取得します。しかし、時間制限エラーが発生しました。
私は一日中インターネットでこれを探していましたが、答えがありませんでした。あなたが私を助けてくれれば、私は感謝します。:)
これが私のコードです: https://github.com/hoangvanthien/GH_CppFiles/blob/master/SPOJ/NKBRACKE.cpp