公式

G - Greatest Bracket Sequence 解説 by ynymxiaolongbao

$O((N +Q)\log N)$ の解法

SSRSさんの解説とs[l] < s[r], YがSに含まれる or notで分けるところは同じです。

答えは以下のように求まります

  • YがSに含まれる場合:以下のmax

    • 右から、累積minを更新する点を列挙し、そのindexの差のmax
    • 左から、累積minを更新する点を列挙し、そのindexの差のmax
    • 最小値のうち、一番右のもののindex - 一番左のもののindex(後のケースの下位互換になっていて実は不要)
  • YがSに含まれない場合:

    • 左端 … 最小値 + 増分(s[r] - s[l]) - 1 の値をもつものうち一番右のもの
    • 右端 … 最小値のうち一番右のもの(+一周)

計算量は \(O((N +Q)\log N)\) です

https://atcoder.jp/contests/utpc2025/submissions/72822933

投稿日時:
最終更新: