区间型动态规划--沙堆合并
来源:互联网 发布:重庆市网络办事大厅 编辑:程序博客网 时间:2024/06/05 01:00
这是一道非常非常基础而简单的区间型动态规划,,
图片来自百度文库Mr。bzbts,侵删。
上面的分析是一个环形的石子合并,而我做的这个链型的更加简单,不需要考虑头尾相接。
下面是代码。
#include <iostream>#include <stdio.h>using namespace std;int main(){ int n, i, j, k; scanf("%d", &n); int s[305]; int f[305][305] = {0}; int sum[305][305]; for(i = 1; i <=n; i++) { scanf("%d", &s[i]); sum[i][i] = s[i]; } for(i = 1; i < n; i++) for(j = i+1; j <=n; j++) { sum[i][j] = sum[i][j-1]+s[j]; } //if(n==1) printf("%d\n", 0); f[1][2] = sum[1][2]; for(j = 2; j<= n; j++) { for(i = j-1; i>=1; i--) { int mi = 9999999; for(k = i; k < j; k++) { mi = min(mi, f[i][k]+f[k+1][j]+sum[i][j]);///通过所有的枚举找到每个阶段,每个区间合并的最小值。 ///i到j的合并肯定由之前的两堆合起来,那么就枚举每一种合并的得分情况,找到最小的。 } f[i][j] = mi; } } printf("%d", f[1][n]); return 0;}
0 0
- 区间型动态规划--沙堆合并
- 区间合并类动态规划训练
- 洛谷Oj-石子合并-区间动态规划
- 区间型动态规划
- 区间型动态规划
- 沙子合并(又是区间动态规划)
- HDU 4632 Palindrome subsequence(区间合并动态规划)
- 动态规划-区间最值问题-沙子合并
- poj 1750Potted Flower(线段树 区间合并 动态规划 区间求最大连续和)
- nyoj 37 nyoj15区间型动态规划
- 石子归并---区间型动态规划
- 删数-dp区间型动态规划
- 1.2.区间动态规划
- 区间动态规划
- 区间动态规划
- 简单区间动态规划
- 沙子合并 动态规划
- 动态规划-合并石子
- JAVA 容器类
- jmeter压力测试
- iOS加密算法(base64,md5,HMAC,3DES,AES 256,RSA)
- HDU-1873-看病要排队【优先队列】
- 第2条:遇到多个构造器参数时要考虑用构造器
- 区间型动态规划--沙堆合并
- Retrofit网络访问库使用总结
- 一道亚马逊算法面试题的情景分析
- 垂直居中应用
- 转载-------为什么要内存对齐 Data alignment: Straighten up and fly right
- 算法系列博客之写在前面的话
- orbslam2-基础理论(4)词袋
- JNI和NDK的学习总结
- hadoop:基于Streaming实现作业提交