
动态规划之01背包
文章平均质量分 66
shengweisong
只有行动,才能解除所有的不安
展开
-
hdoj 2602 Bone Collector 【01背包】
题意:给出袋子的体积和骨头的个数,然后又给出每个骨头的价值和体积,求袋子最多能装的骨头的价值 难点;这道题是最基础的01背包题,不懂得话推荐看《背包九讲》 AC by SWS 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2602 代码: #include #include typedef struct{ int w, v; }str;原创 2014-08-01 09:52:05 · 888 阅读 · 0 评论 -
nyoj 49 开心的小明 【DP】【01背包】
代码一:(二维数组)转载 2014-07-11 16:10:07 · 940 阅读 · 0 评论 -
nyoj 860 又见01背包 【另类01背包】
分析: 首先这道题不能当做普通的01背包问题,因为W 我们知道价值v小的很,最大100, 那我们就可以利用这一点,拿价值 之和作为原来的质量之和, 但是有一点要注意:因为题意是要在质量不超过W的范围内,找出最大的价值,我们现在是以最大的价值求质量,那么仔细分析一下,我们就能想明白,要以某价值i的背包存放尽量小的质量,这样反过来分析一下就可以知道,较小的质量有个较大的价值序号,这样完全满足题意了,原创 2014-08-02 09:27:18 · 1480 阅读 · 0 评论 -
hdoj 1203 I NEED A OFFER! 【另类01背包】【概率背包】
题意:。。。 策略:动态规划。 因为是求至少能得到一个offer的概率,那我们可以反着求,求得不到一个offer的概率,最后用1减去就好了. 代码: #include #include double dp[10010]; struct node{ int a; double b; }s[10010]; int main() { int n, m, i, j;原创 2014-08-13 21:03:46 · 964 阅读 · 0 评论 -
hdoj 2126 Buy the souvenirs 【另类01背包】
题意:求最多购买的件数以及有几种方法。 一看到这题就想到了背包,因为求得是种类数,所以我们可以将件数看做价值,将价格看做重量,这就变成01背包了(dp),但是还要求有几种购买方案,那么再来一个背包(kind)。 分析:有三种情况: 1》dp[j] < dp[j-s[i]]+1 那么对于这一种情况 方案背包的状态转移方程是kind[j] = kind[j-s[i]]?kind[j-s[i]]:1;(考虑到kind[j-s[i]] ==0的时候,这时候kind[j] = 1); 证明:为什么是kind[j]原创 2014-08-25 21:37:29 · 829 阅读 · 0 评论 -
hdoj 1864 最大报销额 【01背包】||【dfs】
最大报销额 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 17014 Accepted Submission(s): 4959 Problem Description 现有一笔经费可以报销一定额度的发票。允原创 2014-11-25 15:31:35 · 1032 阅读 · 0 评论 -
poj 2184 Cow Exhibition 【另类01背包】
Cow Exhibition Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9424 Accepted: 3619 Description "Fat and docile, big and dumb, they look so stupid, they a原创 2014-11-25 23:58:59 · 1077 阅读 · 0 评论