动态规划经典例题:钢条切割
一、递归算法
如果在第i个地方切割,就把钢条分为两个长度为i,n-i的钢条,问题转化为求这切割两个钢条的最大价值之和
考虑到不切割时的价值
只要比较不切割时的价值和所有切割情况价值和的最大值即可
递归出口:
当长度为0,返回0
递推式
结果=max(钢条不切割时的价值,钢条切成两半的价值)
递归计算出这两半的价值(子问题独立)
钢条切割的地方可以在第1个,第2个,第n/2个位置(之后对称)
代码:
const int price[] = { 0,1,5,8,9,10,17,17,20,24,30 };int max_price(const int *p,int n)//求长度为n英寸切割方案的最大价值{if (n == 0){return 0;}int q = p[n];//不切割价值for (int i = 1; i <= n / 2; i++){q = max(q,max_price(p,i)+max_price(p,n-i));}return q;}
二.动态规划
代码:
const int price[] = { 0,1,5,8,9,10,17,17,20,24,30 };int max_price(const int *p,int n)//求长度为n英寸切割方案的最大价值{int dp[11];dp[0] = 0;for (int i =1; i<=10; i++){int m = 0;for (int j = 1; j <=i; j++){m = max(m,dp[i-j] + price[j]);}dp[i] = m;}return dp[n];}
动态规划经典例题:钢条切割相关推荐
- ヾ(o◕∀◕)ノヾ各种动态规划经典例题(新手向、多类型)
ヾ(o◕∀◕)ノヾ各种动态规划经典例题(新手向.多类型) 一.前言 ヾ(・ω・`。)我把比较常见的类型的动态规划找了一些经典的例题,适合作为新手的入门例题,用于帮助我们对各种不同的动态规划有所了解,很 ...
- 算法复习——动态规划篇之钢条切割问题
算法复习--动态规划篇之钢条切割问题 以下内容主要参考中国大学MOOC<算法设计与分析>,墙裂推荐希望入门算法的童鞋学习! 1. 问题背景 钢铁切割: 现有一段长度为10的钢条,可以零 ...
- 《算法导论》15章-动态规划 15.1 钢条切割(含有C++代码)
一.引入 动态规划方法通常用来求解最优化问题(optimizationproblem).这类问题可以有很多可行解,每个解都有一个值,我们希望寻找具有最优值(最小值或最大值)的解.我们称这样的解为问 题 ...
- 运筹说 第69期 | 动态规划经典例题讲解
通过前几期的学习,我们已经学会了动态规划的基本概念和基本原理,并且掌握了动态规划模型的建立和具体的求解方法,本期小编带大家学习动态规划在经济管理中的应用. 除了前面讲到的最优路径.资源分配问题外,动态 ...
- 动态规划经典例题:乘积最大连续子数组
题目: 输入一个整形数组,数组里有正数也有负数.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和.求所有子数组的和的最大值.例如数组:arr[]={1, 2, 3, -2, 4, -3 ...
- 动态规划经典例题-国王的金矿问题
金矿问题 问题概述: 有一位国王拥有5座金矿,每座金矿的黄金储量不同, 需要参与挖掘的工人人数也不同.例如有的金矿储量是500kg黄金,需 要5个工人来挖掘:有的金矿储量是200kg黄金,需要3个工人 ...
- 动态规划经典例题解析
一.不同路径问题 题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角 ...
- 数字三角形(动态规划经典例题)
资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 (图3.1-1)示出了一个数字三角形. 请编一个程序计算从顶至底的某处的一条路 径,使该路径所经过的数字的总和最大. ●每一步可沿左斜 ...
- 【动态规划·经典例题】鸡蛋的硬度
鸡蛋的硬度 总时间限制: 1000ms 内存限制: 65536kB 描述 最近XX公司举办了一个奇怪(super strange!)的比赛:鸡蛋硬度之王争霸赛.参赛者是来自世 界各地的母鸡,比赛的内容 ...
最新文章
- 细数我们身边的人工智能之最
- 解析IBM TSM6.0版本特色功能与技术优势
- H5与Native交互之JSBridge技术
- python D5 字典
- 微信小程序 基础2【条件渲染、swiper组件、生命周期、发起请求API】
- 执行应用程序出现: No such file or directory
- 删除所有正在运行和退出的docker实例
- 产业区块链:新基建中的底层技术基座,各行业资深人士应积极参与建设
- XMPP核心协议客户端
- 3GPP定义的IMSnbsp;ECT业务与Conf…
- python函数参数值_python 函数参数
- Jquery 中 $('obj').attr('checked',true)失效的几种解决方案
- 【MMD】MikuMikuDance入门教程|下载模型动作相机场景音乐借物表
- Photoshop插件--删除暗调通道--脚本开发--PS插件
- 用什么 软件测试无线频段,Wirelessmon无线频段与信号强度扫描工具软件使用技巧...
- jmeter测试报告分析
- (转载自新华网)蓄势数载业初就 | 水下悬浮隧道项目一瞥
- Android WiFi系统【转】
- awd的批量脚本 pwn_北极星杯 awd复现
- 白鹭[egret]项目目录介绍)