POJ 1141 Brackets Sequence 动态规划

本文介绍了一种通过动态规划解决括号匹配问题的方法,旨在找出给定括号字符串所需的最少括号添加数量,以使其成为有效匹配的字符串。文章提供了两种算法实现方案,并详细解释了状态转移方程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在刘汝佳黑书上有详细的解析,自己明天这两种算法自己实现一下,作为对动态规划的深入理解学习

先转一个题解http://blog.163.com/leyni@126/blog/static/16223010220103155534476/?fromdm&fromSearch&isFromSearchEngine=yes

问题:括号匹配问题。给出一个由括号组成字符串,加最少的括号使之匹配。

思路:
设f[i][j]为从i到j这段字串达到匹配所需最少括号数。
初始状态:f[i][i] = 1;
状态转移:
f[i][j] = min{f[i + 1][j - 1 | s[i]与s[j]匹配],f[i + 1][j] | s[i]为左括号,f[i][j - 1] | s[i]为右括号,min{f[i][k]+f[k][j]}}

 

后来按照刘汝佳黑书上面的动态规划算法写了一个可以计算最小变化次数的算法

但在输出规则序列上遇到了难题,望大牛指点

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值