总体来说,这题还是挺简单的,不知道为什么洛谷上只有十个人过。
首先我们分析一下题目。
当且仅当能在里面加上若干个
1
和+
,使其成为一个正确的表达式(其中两种括号均可以互相嵌套)
这句话表面上绕来绕去,但是我们随便举几个例子,就可以轻易发现,它所说的合法括号序列就是我们熟知的 一个右括号配对一个左括号 的括号序列!
现在你或许已经会做了,解读出了这个解法就已经和 CF5C 的解法很类似了,不过就是要记录一下 s u m i sum_i sumi:序列到了第 i i i 个位置包含了多少个 [
,然后后面正常 dp 即可。
当然,没做过 CF5C 也没关系,我在这里解释一下一些数组和变量的意思:
-
l i l_i li :若 s i s_i si 为右括号,则返回它所匹配的左括号的位置,否则返回 − 1 -1 −1。
-
d p i dp_i dpi:到了序列的第