算法学习笔记----用动态规划解决钢管切割问题
int p[] = {1, 5, 8, 9, 10, 17, 17,20, 24, 30};static inline int max(i, j)
{return (i > j ? i : j);
}int cut_mod(int *p, int n)
{int i;int q;if (n == 0) {return 0;}q = -1;for (i = 0; i < n; ++i) {q = max(q, p[i] + cut_mod(p, n - i - 1));}return q;
}
int bottom_up_cut_mod(int *p, int n)
{int i, j, q;int r[n + 1];r[0] = 0;for (j = 1; j <= n; ++j) {q = -1;for (i = 1; i <= j; ++i) {q = max(q, p[i - 1] + r[j - i]);}r[j] = q;}return r[n];
}
int extend_bottom_up_cut_mod(int *p, int n, int *s)
{int i, j, q;int r[n + 1];r[0] = 0;for (j = 1; j <= n; ++j) {q = -1;for (i = 1; i <= j; ++i) {if (q < p[i - 1] + r[j - i]) {q = p[i - 1] + r[j - i];s[j] = i;}}r[j] = q;}return r[n];
}
static void print_cut_mod_solution(int n, int *s)
{while (n) {printf("%d ", s[n]);n = n - s[n];}
}
算法学习笔记----用动态规划解决钢管切割问题相关推荐
- Python最优化算法学习笔记(Gurobi)
微信公众号:数学建模与人工智能 github地址:https://github.com/QInzhengk/Math-Model-and-Machine-Learning Python最优化算法学习笔 ...
- 基于MVS的三维重建算法学习笔记(四)— 立体匹配经典算法Semi-Global Matching(SGM)论文翻译及要点解读
基于MVS的三维重建算法学习笔记(四)- 立体匹配经典算法Semi-Global Matching(SGM)论文翻译及要点解读 声明 SGM概述 Cost Calculation(像素代价计算)--M ...
- matlab中x从0到5不含0,关于MATLAB的数学建模算法学习笔记
关于MATLAB的数学建模算法学习笔记 目录 线性规划中应用: (3) 非线性规划: (3) 指派问题;投资问题:(0-1问题) (3) 1)应用fmincon命令语句 (3) 2)应用指令函数:bi ...
- 两个字符串的最长公共子序列长度_算法学习笔记(58): 最长公共子序列
(为什么都更了这么多篇笔记了,这时候才讲这么基础的内容呢?因为我本来以为LCS这种简单的DP不用讲的,结果CF不久前考了LCS的变式,然后我发现由于自己对LCS一点都不熟,居然写不出来 ,于是决定还是 ...
- 数据结构与算法学习笔记——链栈
数据结构与算法学习笔记(C语言) 链栈 在开始链栈的学习之前,我们先实现一下上一篇文章中提到的检查括号匹配的小程序,鉴于水平有限,本人就随便写一下代码好了,目标仅限于对功能的实现. /*用顺序栈这种数 ...
- 数据结构与算法学习笔记4:递归+分治法
数据结构与算法学习笔记4 递归 斐波那契数列 青蛙跳台阶问题 链表倒序打印 分治法 二分查找/折半查找 Binary Search 题目1:快速幂 题目2:如何判断一个数是否为2的次幂 递归 指在函数 ...
- 基于MVS的三维重建算法学习笔记(五)— 立体匹配经典算法PatchMatch论文翻译及要点解读
基于MVS的三维重建算法学习笔记(五)- 立体匹配经典算法PatchMatch论文翻译及要点解读 声明 问题提出 问题建模 通过PatchMatch获取平面参数--Inference via Patc ...
- 数据结构与算法学习笔记15:最大流问题 / 二分图 / 有权无权二分图的匹配 / 匈牙利算法 / 银行家算法 / 稳定婚配
数据结构与算法学习笔记15:最大流问题 / 二分图 / 有权无权二分图的匹配 / 匈牙利算法 / 银行家算法 / 稳定婚配 引入小题:最短路径 最大流问题(maximum flow problem) ...
- Python预测 数据分析与算法 学习笔记(特征工程、时间序列)
微信公众号:数学建模与人工智能 GitHub - QInzhengk/Math-Model-and-Machine-Learning 第3章 探索规律 3.1 相关分析 相关关系是一种与函数关系相区别 ...
最新文章
- python全栈开发笔记--------条件语句
- 最详细的SQL注入相关的命令整理
- ExtJS 2.0官方实例目录
- javaweb异常笔记
- 阿里云弹性高性能计算E-HPC强势来袭,全新打造一站式云超算
- 【android】ActivityGroup初体验
- 高性能MySQL—第一章 MySQL架构与历史
- Shell(6): 多线程操作及线程数
- matlab subplot(figure)如何设置使得图像最终显示出来不一样大小
- [我的阿里云服务器] —— 安装LAMP
- MATLAB绘制地图超详细教程
- 背包问题1:【SSL】1059.01背包问题——2021-03-10更
- 机器学习基础篇-逻辑回归和多分类问题
- 栈区的使用规则、压栈和出栈、栈区先进后出,后进先出
- 什么是Photoshop中的图层和蒙版?
- C#登录拍拍,总是提示输入有误
- 雨听|在wps中将某一页ppt导出为图片
- Javascript深入浅出之闭包
- 软件项目任务分解的概念
- android canvas 工作流_Activiti工作流引擎使用
热门文章
- SqlServer数据库定期自动备份与清除
- 二、Spring Cloud 极简入门-Spring Cloud简介
- PCIE设备访问及其配置空间
- 考研复试英语介绍计算机专业,2018计算机考研复试英语自我介绍范本及重点
- java版本的escape和unescape函数
- 微程序CPU+8253+8255实现流水灯
- L1-036 A乘以B Python
- The installation cannot continue as the installer file may be damaged. Download the installer file a
- PyQt5最全60 容器之QMdiArea和QMdiSubWindow容纳多文档的窗口
- #1135 : Magic Box(枚举)