【动态规划笔记】区间dp:合并果子
初始化:一堆果子不需要合并,所以dp[i][i]=0
既然之前说过我们需要枚举k来划分i和j,那么如果通过枚举i和j进行状态转移,很显然某些k值时并不能保证已经确定过所需状态。
如,i=1 to 10,j=1 to 10,k=1 to 9.当i=1,j=5,k=3时,显然状态f[k+1][j]没有结果
解决方法:先枚举小区间
for(int len=2;len<=n;i++){
for(int i=1;i+len-1<=n;i++){int j=i+len-1;
for(int k=i;k<j;k++){
dp[i][j]=dp[i][k]+dp[k+1][j]+sum[i]-sum[j-1];
}
保证区间长度len=j-i+1先从2一直枚举到n
代码:
#include<iostream>
#include<string.h>
using namespace std;
int dp[10][10];
int sum[10];
int main()
{memset(dp,0x3f,100);int a[10];int n;cin>>n;sum[0]=0; for(int i=1;i<=n;i++){cin>>a[i];sum[i]=sum[i-1]+a[i];dp[i][i]=0;}for(int len=2;len<=n;len++){for(int i=1;i+len-1<=n;i++){int j=i+len-1;for(int k=i;k<j;k++){dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]+sum[j]-sum[i-1]);}}}cout<<dp[1][n];
}
【动态规划笔记】区间dp:合并果子相关推荐
- 9.动态规划:区间DP问题(合并石头问题)【灵神基础精讲】
0x3f:https://www.bilibili.com/video/BV1Gs4y1E7EU/ chenf99:由易到难,一步步说明思路和细节:https://leetcode.cn/proble ...
- 【动态规划】区间dp: P1063能量项链
本题和合并石子果子一样,都是枚举最后一次合并的点 [动态规划笔记]区间dp:合并果子_m0_52043808的博客-CSDN博客 区别: 1.需要断环为链 2.每一堆石子变为两个值,这里用结构体实现 ...
- 【动态规划】区间DP - 最优矩阵链乘(另附POJ1651Multiplication Puzzle)
最优矩阵链乘(动态规划) 一个n∗mn*mn∗m的矩阵由 nnn 行 mmm 列共 n∗mn*mn∗m 排列而成.两个矩阵A和B可以相乘当且仅当A的列数等于B的行数.一个nm的矩阵乘mp的矩阵,运算量 ...
- 区间dp——合并金币
链接:https://www.nowcoder.com/questionTerminal/6d3ccbc5b6ad4f12b8fe4c97eaf969e0 来源:牛客网 有 N 堆金币排成一排,第 i ...
- 【动态规划】区间dp: P3205 合唱队
代码: 注意 1.填表时从小区间到大区间: 2.每次加后都要取模 #include<iostream> using namespace std; int n; int a[1001]; i ...
- 【动态规划】区间dp:P1005矩阵取数
代码需要高精度,我不会
- 暑假集训总结——区间DP,堆的概念及应用,STL(vector、set、pair、map、priority_queue),hash表,树状数组,图论
序言: 经过长达十几天的集训,确实学了不少知识点.我想如果再不总结的话,6天之后又要忘完了. 所以发一篇具有总结回忆性的博客,供大家回忆. 目录会本人自己排列的时间的先后顺序来排列,可直接食用. 目录 ...
- 【动态规划笔记】区间dp:括号匹配(删除字符和括号匹配)
代码: //区间dp:括号匹配 #include<iostream> #include<string> #include<string.h> using names ...
- SDNU 1171.合并果子(区间dp)
Description 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆. 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果 ...
- 【动态规划dp】区间DP模板 Acwing 282. 石子合并 | P3205 [HNOI2010]合唱队
区间DP 模板 282. 石子合并 #include<iostream> #include<cmath> #include<algorithm> #include& ...
最新文章
- vsftp pam mysql_VSFTP+MySQL+PAM
- 网络-开发-CIO全面覆盖——51CTO.com今日变脸
- python百度地图api经纬度_从百度地图API接口批量获取地点的经纬度
- redux provider源码解析
- [基础]Javascript中的继承示例代码
- 数据库抽象类PDOStatement对象使用
- ASM 判定一个类,实现了指定接口
- 四川大学计算机专业贵州分数线,四川大学2016年在贵州省高考各专业录取分数线...
- Win11系统如何设置黑暗模式
- SpringMvc2 使用注解形式发布请求地址
- oracle创建目录并赋权,Oracle 添加用户并赋权,修改密码,解锁,删除用户的方法...
- php提交失败阻止提交数据,php – 在刷新浏览器时阻止重新提交提交
- C# WPF 利用NPOI读写Excel文件
- 卷积神经网络---文本分类原理及代码
- RTI_DDS自定义插件开发 1
- 不用百度网盘客户端直接下载大文件
- 质控三张图 gaochao ards 多个表型写成循环
- 常见的前端考试面试题目【vue,react,css,six】
- Linux:《gzip》《bzip2》压缩解压
- 8.Spring学习笔记_使用外部属性文件(by尚硅谷_佟刚)
热门文章
- session_cache_limiter(private,must-revalidate)是什么意思
- [转载]配置路由让MSN可传文件(2003-9-17)
- Java无线数据增值业务概述
- 2019 ICPC中国邀请赛(南昌)暨国际丝绸之路程序设计竞赛-网络赛题解
- CCF201409-2 画图(100分)
- I00003 贝尔三角形
- 【数值分析】—— 对数函数、指数函数(数值稳定性)
- 说不尽的 π —— π 的近似计算
- 实用的 Python —— os.system() 在 python 语句中执行 dos 命令
- 机器学习基础(二十四)—— Random Forest