括号匹配序列计数问题
题意
一个长度为
且符合规范的括号序列,其有些位置已经确定了,有些位置尚未确定,求这样的括号序列一共有多少个。要求复杂度为
分析
由题意可知,我们可以这样定义括号匹配序列:
- 空序列是括号匹配序列。
- 如果 S 是括号匹配序列,那么
也是括号匹配序列。 - 如果 A 是括号匹配序列,B 是括号匹配序列,那么 AB 也是括号匹配序列。
这样的定义似乎很正确,但对于我们的计数却有不利影响,原因如下述。
首先定义状态
乍一看还挺正确的,其实不然。
比如对于这种情况:
思考一下刚才的dp对应的文法:
可见,
比如下面的这种设计:
可见,新增了
最后的答案就是
如此,通过对文法设计进行改变,就能极大地降低算法复杂度。类似的思路在P7914 [CSP-S 2021] 括号序列也有体现。
__EOF__

本文作者:Never Gonna Give You Up!
本文链接:https://www.cnblogs.com/CZ-9/p/17366186.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/CZ-9/p/17366186.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)