【题解】括号序列
1|0括号序列
1|1题目描述
我们用以下规则定义一个合法的括号序列:
(1)空序列是合法的
(2)假如
(3)假如
例如以下是合法的括号序列:(), [], (()), ([]), ()[], ()[()]
。
以下是不合法括号序列的:(, [, ], )(, (][), ([()
。
现在给定一些由 (
, )
, [
, ]
构成的序列 ,请添加尽量少的括号,得到一个合法的括号序列。
1|2输入格式
输入一行括号序列 (,),[,]
) ,都放在一行,中间没有其他多余字符。
1|3输出格式
输出一个整数,表示使括号序列
1|4样例
输入数据#1
输出数据#1
解释#1
最少添加 ()[()]
或 ([()])
。
1|5数据范围
- 对于
的测试数据, 的长度 - 另有
的测试数据, 中仅含有左括号(
和[
- 另有
的测试数据, 中仅含有小括号(
和)
- 对于
的测试数据, 的长度
2|0思路分析
区间 dp 板子题。
定义
先按区间长度从小到大枚举区间,再根据题中的
-
由
,若 合法,则 和 均合法,所以若区间 的两个端点 和 是一对括号,则 可以是 ,注意只有当 合法时才可以这样转移。即
-
由
,若 , 均合法,则 , 均合法,所以可以将区间 分成两个区间,记为 和 , 就是最小的 , 是区间 内任意一点。即
最后考虑初始值,
时间复杂度
2|1code
__EOF__

本文链接:https://www.cnblogs.com/shimingxin1007/p/18363062.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具