2 条题解

  • 0
    @ 2025-10-9 16:53:34

    P5658 [CSP-S2019] 括號樹

    這道題跟CSP-S2023T2有些像,但又不完全一樣

    首先看到括號匹配我們就想的是用堆棧來維護

    但是那不能算出我們每個前綴的括號匹配數

    我們來找找性質:

    ()())(())

    考慮每一個位置的貢獻:

    010200011

    dpidp_i 表示位置 ii 的貢獻

    注意到我們發現如果對於一個位置 ii 可以匹配到前面的一個位置 jj ,那麼對於 ii 的貢獻可以表示為:

    dpi=dpj1+1dp_i=dp_{j-1}+1

    然後把這個東西扔到樹上就完成了,注意回溯時的小細節

    • 0
      @ 2025-10-9 16:51:41

      P5658 [CSP-S2019] 括号树

      这道题跟CSP-S2023T2有些像,但是又不一样

      首先看到括号匹配我们就想的是栈来维护

      但是那不能算出我们每一个前缀的括号匹配数

      我们来找找性质:

      ()())(())

      考虑每一个位置的贡献:

      010200011

      dpidp_i 表示位置 ii 的贡献

      注意到我们发现如果对于一个位置 ii 可以匹配到前面的一个位置 jj ,那么对于 ii 的贡献可以表示为:

      dpi=dpj1+1dp_i=dp_{j-1}+1

      然后把这个东西扔到树上就做完了,注意回溯的时候的小细节

      • 1

      信息

      ID
      457
      时间
      1000ms
      内存
      256MiB
      难度
      10
      标签
      (无)
      递交数
      3
      已通过
      3
      上传者