动态规划——区间dp

区间dp

对于区间dp,我们常常将其分割成对各子区间来进行动态规划

题目:282. 石子合并 - AcWing题库

闫氏dp法

区间dp在进行状态表示时,集合常常是一个区间
一、状态表示f[i][j](表示第i堆石子到第j堆石子的区间):
①集合:所有将第i堆石子到第j堆石子合并成一堆石子的合并方式
②Min。所有合并方式里代价的最小值
二、状态计算。最后一定是将左边一堆石子和右边一堆石子的合并。那么我们可以以最后一次合并的分界线来分类,那么分界线的两边即是左边一堆石子和右边一堆石子。
比如左边1个,那么右边就是k - 1个、左边2个,那么右边就是k - 2个、... 、左边k - 1个右边就是1个(k是区间的长度即 k = j - i + 1)
那么状态转移的方程即为左边的一堆石子合并所需要的体力 + 右边石子合并所需要的体力
+ 最后一步将左右区间合并所需要的体力。而最后一步合并的体力即为原始[i, j]的石子质量和=s[j] - s[i](可用前缀和进行求解)。f[i][j] = min(f[i][j], f[i][k] + f[k + 1][j - 1] + s[j] - s[i])

代码:

代码①:枚举长度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值