CSP-S 2021 題解

A

只要不和我一樣把樣例玩錯應該就不會否認答案隨着 \(n\) 增大而增大的單調性……

於是我們發現答案單調並且很容易用 set 直接維護 \(n=1\to n\) 的答案。對兩邊算出來直接計算取 \(\max\) 即可。

B

讀好題。

發現轉移是 \(S\) 不能同時在一個合法括號的兩邊。所以考慮設 \(f[i][j]\) 表示兩邊的括號匹配在一起的方案數,\(g[i][j]\) 表示是由許多 \(f\) 拼接的方案數,轉移的時候枚舉一個開頭的 \(f\) 來轉移 \(g\) 就可以做到不重複了。

C

簡單題。

考慮一個性質,如果我們確定了第一個數,那麼我們會發現下一個選擇的數一定是在這個數的另外一個位置的兩側。於是不論怎麼刪,這個選擇的數一定是一個連續段並且候選數字一直只有兩個。

於是直接貪心模擬即可。容易證明如果兩邊都可以選擇那麼選左邊不會劣於選右邊。

D

待補。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章