简单动态规划集(四)
来源:互联网 发布:淘宝如何报名天天特价 编辑:程序博客网 时间:2024/05/01 15:53
背包九讲是大牛的杰作,既然加了加了简单,那我只好简单说下背包前四讲
背包的第一讲01背包
它是最简单的背包,也是背包系列的根基,说是给一个背包,n件物品,每件有价值和费用c ,w
问你的背包最多能装多大的价值
for(i=V;i>=c[i];i--)
dp[i]=max(dp[i],dp[i-c[i]]+w[i]);
循环之所以从前往后是为了保证一件物品只装一次。
完全背包
给你的是n中物品,每种无限个
for(i=C[i];i<=V;i++)
dp=max(dp[i],dp[i]+w[i]);
这次是从前外后,是因为物品没有了个数限制,它的限制主要是背包的体积;
多重背包
给你的是n中物品,每种有限个限个
如果个数乘以体积大于等于背包体积用完全背包
否则用01背包,(在用01背包时,有个logn的优化)
混合背包
在我看来,他就是多重背包
这前四种背包其实,也就是01背包,完全背包。
学习动态规划背包九讲是份不错的材料,还有注意一个小细节,初始化问题,如果问是否能装满,除dp[0]初始化为0外,其余的全部初始化为负无穷。认真理解01背包和完全背包是学习背包九讲的基础。因为背包九讲很容易搜到,所以这里就不唠叨那么多了。
- 简单动态规划集(四)
- (四)动态规划
- 浅谈动态规划(四)
- 动态规划入门(四)
- 简单动态规划集(一)
- 简单动态规划集(二)
- 简单动态规划集(三)
- 简单动态规划集(五)
- 简单动态规划集(六)
- HDU1559(简单动态规划)
- 简单的动态规划问题(帮助理解动态规划)
- 选球博奕与动态规划(四)
- 笨蛋难题四(动态规划)
- 基础算法(四)---动态规划算法
- 第十四周 动态规划(四)
- 动态规划示例四
- 动态规划之四
- SOJ-1009(dollars,简单动态规划)
- oracle指定排序方法
- ADROID 2.1 架构解析 8 触摸屏
- HDU 1593 find a way to escape
- Java中Vector和ArrayList的区别
- 使用SQL database Migration wizard迁移数据库时的varchar中文乱码问题
- 简单动态规划集(四)
- NET Framework Client Profile
- 从零开始--系统深入学习android(实践-让我们开始写代码-Android框架学习-2. 输入控件)
- ADROID 2.1 架构解析 9 SD/USB
- ebtables简介
- linux下C\C++ 开发小笔记
- socket 通信技术介绍
- ADROID 2.1 架构解析 10 声音
- 分治求解最大最小值