钢材分段问题

#include<iostream>
#include<vector>
using namespace std; class Solution {
public:
int Bottom_To_Up_Cut_Rod(vector<int> p, int n) {
vector<int> r(n);
r[0] = 0;
int q = -65533; for(int i = 1; i <= n; i++) {
for(int j = 1; j <= i; j++) {
q = q > (p[j] + r[i - j]) ? q : (p[j] + r[i - j]);
}
r[i] = q;
} return r[n];
}
}; int main() {
int nums[] = {0, 1, 5, 8, 9, 10, 17, 17, 20, 24, 30};
int len = (int)sizeof(nums)/sizeof(int);
vector<int> p(len);
Solution so; for(int i = 0; i < len; i++) {
p[i] = nums[i];
} cout << "请输入钢材的长度:";
cin >> len;
cout << "最大收益为:" << so.Bottom_To_Up_Cut_Rod(p, len) << endl; return 0;
}

  上面代码中的 nums[] 中的数据代表的含义是指钢材长度从0~10不同长度的价格。

  一般动态规划用于求解一类最优解(一般可归类为求解最大值或最小值)的问题,这里以《算法导论》给的这个例子为引子作为深入对算法等的学习。代码很简洁明了,所以我就不多解释了。

最新文章

  1. 关于object和embed
  2. 开启gpu加速的高性能移动端相框组件!
  3. iOS 推送通知处理
  4. #iPhone6与iPhone6Plus适配#如何在Xcode 6中创建 PCH 文件
  5. Python批量读取人脸图片与数据互相转换
  6. 从医生看病和快餐店点餐理解Node.js的事件驱动
  7. 前端--关于javascript对象
  8. 在ubuntu10.0.4下更新git
  9. C++的for循环细节,必看!
  10. 【夸QT在十五】ctkPluginFrameWork插件系统Windows编译器
  11. js实例--js滚动条缓慢滚动到顶部
  12. Linux 软件包安装管理
  13. 基于 Koa.js 平台的 Node.js web 快速开发框架KoaHub.js demo 可安装
  14. 静态html制作之psd转html
  15. Chrome Dev Tools: Code Folding in CSS and Javascript for improved code readiability
  16. SqlServer 更改数据库名称
  17. Django-配置、静态文件与路由
  18. 20155334 曹翔 《网络对抗》逆向及Bof基础
  19. 企业私有云部署im,视频服务
  20. python内置函数 eval()、exec()以及complie()函数

热门文章

  1. django 模版查找路径
  2. JAVA基础学习(4)之循环控制
  3. 201771010135 杨蓉庆AND张燕 《面对对象程序设计(java)》第十一周学习总结
  4. Move-to-front(MTF) and Run-lenght encoding(RLE) algorithms
  5. JS-apply、call、bind
  6. 【笔记4-商品模块】从0开始 独立完成企业级Java电商网站开发(服务端)
  7. php mongdb driver 1.17
  8. Springboot学习:核心配置文件
  9. 《如何写好商业计划书》---创业学习---训练营第三课---HHR---
  10. windows下的环境搭建配置redis