动态规划解决钢条切割问题
来源:互联网 发布:腾讯数据nba 编辑:程序博客网 时间:2024/05/17 07:39
#include<cstdio>#define MAXN 1010#define INF 999999999int p[MAXN], r[MAXN], s[MAXN];//p[i]---长度为i的价格;r[i]---长度为i的最大收益;s[i]---长度为i的最大收益方案中,第一段切下的长度;int solve(int n){ if(n == 0) return 0; r[0] = 0; int q; for(int i = 1; i <= n; i++)//规模从1-n增加 { q = -INF; for(int j = 1; j <= i; j++)//对规模为i的情况进行各种情况的尝试 { if(q < p[j]+r[i-j]) { q = p[j] + r[i-j]; s[i] = j; } } r[i] = q; } return r[n];}void print(int n){ while(n > 0) { printf("%d ", s[n]); n -= s[n]; }}int main(){ int n; while(~scanf("%d", &n))//读入钢条的长度; { for(int i = 1; i <= n; i++) scanf("%d", &p[i]);//读入价格表; int res = solve(n); printf("%d\n", res);//输出最大收益; print(n);//输出最优切割方案; }}
0 0
- 动态规划解决钢条切割问题
- 动态规划解决钢条切割问题
- 动态规划-钢条切割问题
- 动态规划:钢条切割问题
- 【动态规划】钢条切割问题
- 动态规划--钢条切割问题
- 动态规划 钢条切割问题
- 动态规划 钢条切割问题
- 动态规划-钢条切割问题
- 钢条切割-动态规划
- 切割钢条【动态规划】
- 动态规划-钢条切割
- 动态规划-钢条切割
- 动态规划-钢条切割
- 动态规划 钢条切割
- 钢条切割-动态规划
- 【动态规划】钢条切割
- 动态规划--钢条切割
- Apache Commons-logging+log4j配置
- 慎用 WaitHandle.WaitOne(TimeSpan/int/long)
- 设计模式C++学习笔记之十四(Iterator迭代器模式)
- 【wkhtmltopdf】关于页面打印pdf
- SQLite3
- 动态规划解决钢条切割问题
- HDU 1576 A/B (扩展欧几里得)
- android大图片裁剪终极解决方案(上:原理分析)
- ColorSense for Xcode自动识别UICOLOR颜色并显示预览
- 设计模式C++学习笔记之一(Strategy策略模式)
- 我觉得编程的人,做事不能半途而废
- android大图片裁剪终极解决方案(中:从相册截图)
- 杭电——超级楼梯
- 算法之线性插值原理