01背包问题,是用来介绍动态规划算法最经典的例子,网上关于01背包问题的讲解也很多,我写这篇文章力争做到用最简单的方式,最少的公式把01背包问题讲解透彻。 01背包的状态转换方程 f[i,j] = Max{ f[i-1,j-Wi]+Pi( j >= Wi ), f[i-1,j] } f[i,j]表示 ...
分类:
其他好文 时间:
2017-08-14 23:35:10
阅读次数:
200
网上分析: 设余额为m,令s=m-5,那么我们就要找使得容量为s的背包最后剩的空间最小的方法,找到之后再用这个剩余容量+5-最大的那个没有被选的商品价值就是最小余额. 但是现在我们不知道最后需要减的那个物品应该是哪个,可以证明最后需要减的那个物品一定是价值最大的那个.证明: 假设价值最大的为max, ...
分类:
其他好文 时间:
2017-08-14 21:31:55
阅读次数:
109
2017-08-12 18:50:13 writer:pprp 对于最基础的动态规划01背包问题,都花了我好长时间去理解; poj3624是一个最基本的01背包问题: 题意:给你N个物品,给你一个容量为M的背包 给你每个物品的重量,Wi 给你每个物品的价值,Di 求解在该容量下的物品最高价值? 分析 ...
分类:
其他好文 时间:
2017-08-12 20:32:06
阅读次数:
266
以前不是很重视 DP ,遇到 DP 就写贪心、暴搜……其实这是非常错误的,现在开始练习 DP 了才发现,我好菜…… 对于DP的整理,先从众所周知的背包问题开始。 ———————— 01背包:n 个物品,重量和价值分别为 w[i]、v[i],背包容量 W,求所有挑选方案中价值总和的最大值。 DP 方程 ...
分类:
其他好文 时间:
2017-08-11 20:30:10
阅读次数:
140
0,1背包问题: 定义V(i,j):当前背包容量 j,前 i 个物品最佳组合对应的价值; 递推关系式: 1) j<w(i) V(i,j)=V(i-1,j) 2) j>=w(i) V(i,j)=max{ V(i-1,j),V(i-1,j-w(i))+v(i) } 参考:动态规划-01背包问题 网易20 ...
分类:
其他好文 时间:
2017-08-11 18:30:36
阅读次数:
167
最长递增子序列 01背包问题 硬币找零问题 用空间换时间 1. 2. 3. 4. 5. 6. end ...
分类:
其他好文 时间:
2017-08-08 17:50:07
阅读次数:
163
Zombie's Treasure Chest 本题题意:有一个给定容量的大箱子,此箱子只能装蓝宝石和绿宝石,假设蓝绿宝石的数量无限,给定蓝绿宝石的大小和价值,要求是获得最大的价值 题解:本题看似是dp中的背包问题,但是由于数据量太大,用dp肯定会超时,所以只能寻找另外一种思路,可以用贪心加暴力,先 ...
分类:
其他好文 时间:
2017-08-08 17:49:43
阅读次数:
166
对于背包问题,林喵喵推荐我看了dd大佬的背包九讲,在此附上链接:http://blog.csdn.net/pi9nc/article/details/8142876 网上应该有下载的版本:https://wenku.baidu.com/view/7c1ed28dbd64783e08122b65.ht ...
分类:
其他好文 时间:
2017-08-08 12:34:30
阅读次数:
104
一个dp,f(i,j)表示前i个house都paint了且第i个house paint成color_j的最小cost。 背包问题同 Minimum Adjustment Cost ...
分类:
其他好文 时间:
2017-08-06 18:03:55
阅读次数:
192
这道题要看出是背包问题,不容易,跟FB一面 paint house很像,比那个难一点 定义res[i][j] 表示前 i个number with 最后一个number是j,这样的minimum adjusting cost ...
分类:
其他好文 时间:
2017-08-06 15:05:13
阅读次数:
109