动态规划-背包
文章平均质量分 58
时雨晴天
PhD毕业,正在寻找下一个人生目标,愿求文武双全之道。
展开
-
Poj 3624 Charm Bracelet (01背包)
题目链接:http://poj.org/problem?id=3624最简单的01背包,第一道背包题……#include #define max(x,y) ((x)>(y)?(x):(y))int f[13000],d[3450],w[3450],sum[3450];int N,M;void ZeroOnePack (){ int i,j,temp; for (sum原创 2013-02-16 21:18:52 · 735 阅读 · 0 评论 -
背包水题 zoj3623 Poj1014&Zoj1149&Hdu1059 Hdu2844
zoj3623题意:输入一个n和l,n代表n组值,l代表敌人的总权值,再输入n组值,每组两个数,分别代表制造这组战舰需要的时间和每秒钟可以对敌人造成伤害的权值,创建战舰可以重复创建。问需要多长时间,可以打败敌人。思路:完全背包。#include #include #define max(x,y) ((x)>(y)?(x):(y))const int INF=0x0fffffff原创 2013-03-21 21:34:07 · 1220 阅读 · 0 评论 -
hdu 2955 Robberies + LightOJ 1079 Just another Robbery (01背包 概率)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955题意:有一个小偷要偷银行的钱,可是他偷没家银行总是有一定的概率被抓,现在给了你一个概率P,只要他被抓的概率乘积不大与P,他就是安全的。问你在他安全的情况下,他最多可以偷多少钱。思路:01背包。所有银行的总资产为背包容量V。求最大的逃跑概率。题目给出被抓的概率,要求最大的逃跑率,即1-p原创 2013-02-26 20:22:19 · 864 阅读 · 0 评论 -
LightOJ 1231+1232+1122+1047 (简单dp)
LightOJ 1231 Coin Change (I)题目链接 http://lightoj.com/volume_showproblem.php?problem=1231题意:给你n个物品的体积和数量,让你求有多少种组合能恰好装满M体积的背包。思路:最开始想的是多重背包和母函数,发现都不太合适。最后还是回归最基本的dp吧。dp[i][j]表示前i种物品,组成j的容量有几种取法,原创 2013-07-15 11:03:47 · 1225 阅读 · 0 评论 -
UVa 624 CD (01背包路径输出)
好久前做的题了,今天总结写这篇博文的时候UVA正好挂了……题意:要把cd上的音乐导到磁带里,要求尽量使磁带剩余的空间小并按输入顺序顺序打印出每次磁带中的每个音轨长度。思路:因为不久前学过状态压缩,所以马上想到用01记录状态。总数不超过20个,用int数记录状态,对每一位:0表示不取,1表示取。#include #include #define max(a,b) ((a)>(b)?(原创 2013-07-15 10:12:22 · 1038 阅读 · 0 评论 -
背包题目小结 Hdu1864+Poj2392+Poj1276+Hdu3033+Hdu1712+Poj1837
最近又做了不少背包的题目(其实时很久前做的一直懒得写解题报告……),比初学时接触了更多的题型。比较水的题放在一起总结下。Hdu 1864 最大报销额题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1864题意:中文题。题目描述很坑爹,单项不超过600应该是单种不超过600,也就是2 A:500 A:200这种发票也是不行的。原创 2013-06-20 16:15:24 · 1368 阅读 · 0 评论 -
Hdu 4508 湫湫系列故事——减肥记I (完全背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4508思路:完全背包水题#include #include #define max(x,y) ((x)>(y)?(x):(y))int c[105],w[105],f[100005];int n,v;void CompletePack (){ int i,j; memset(原创 2013-03-23 13:41:13 · 1315 阅读 · 0 评论 -
hdu 1203 I NEED A OFFER! (01背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1203思路:01背包。状态转移方程:f[j]=min(f[j],f[j-cost[i]]*(1-p[i]))#include #include #define min(x,y) ((x)<(y)?(x):(y))const int NUM=10010;int n,m;int cost原创 2013-02-26 20:50:35 · 622 阅读 · 0 评论 -
hdu 2602 Bone Collector (01背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=260201背包水题。#include #include #define max(x,y) ((x)>(y)?(x):(y))int c[1005],w[1005],f[1005];int n,v;void ZeroOnePack (){ int i,j; memset(f,0原创 2013-02-25 22:17:54 · 661 阅读 · 0 评论 -
背包学习小记
最近初步了解了背包问题的基本思想。完全背包貌似是无法用0-1背包中的下界优化的,但是之前是可以对物品优化,比如Ci > Cj 但是Wi 网上看到许多不错的文章,记录如下:【转载】01背包问题通俗讲解。 - oier的日志 - 网易博客http://blog.163.com/i_oi/blog/static/202956070201257243734/PO原创 2013-02-25 21:08:09 · 734 阅读 · 0 评论 -
Poj 2063 Investment (完全背包)
题目链接:http://poj.org/problem?id=2063题意:给定本金、年限、债券和相应的利息,问买怎样的债券能够获得最多的利息,输出年限后的本息。思路:完全背包。注意: The value of a bond is always a multiple of $1 000.利用这点可大大降低复杂度。#include #include #define max(x,y原创 2013-02-25 20:55:41 · 789 阅读 · 0 评论 -
Hdu 2639 Bone Collector II (01背包第k优解)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2639思路:01背包第k优解。#include #include int f[1005][35]; //f[i][k]表示容量为i,第k大的值int c[110],w[110];int a[35],b[35];int n,v,k;int Deal (){ memset原创 2013-03-07 18:33:00 · 1002 阅读 · 0 评论 -
Poj 1384 & Hdu 1114 Piggy-Bank (完全背包)
题目链接:http://poj.org/problem?id=1384题意:给你一个储蓄罐空的和满的重量E、F,然后给出各种硬币的价值P和对应的重量W,要你估计出储蓄罐里面硬币价值和最小为多少,注意要保证重量和恰好为给出满的重量。1思路:完全背包,因为是求最小值且必须装满,故f[0]初始化为0,数组其他部分为正无穷。注意正无穷不要习惯性写成0x7fffffff,代码中标记处执行加运算后原创 2013-02-24 20:51:49 · 1063 阅读 · 0 评论 -
Hdu 1171 Big Event in HDU (多重背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1171思路:容量为总价值一半的多重背包。#include #include #define max(x,y) (x)>(y)?(x):(y)#define min(x,y) (x)<(y)?(x):(y)int n,sum,v;int f[50*50*50+5],c[55],num[原创 2013-03-06 20:02:06 · 858 阅读 · 0 评论 -
Hdu 2191 珍惜现在,感恩生活 (多重背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2191简单的多重背包。#include #include #define max(x,y) (x)>(y)?(x):(y)int m,v;int f[105],c[105],w[105],n[105];void ZeroOnePack (int cost, int weight)原创 2013-03-05 22:55:27 · 825 阅读 · 0 评论 -
Poj 2184 Cow Exhibition (负费用的01背包)
题目链接:http://poj.org/problem?id=2184题目大意:牛类想要向世人证明他们聪明又幽默。经过测试,每头牛都有一个幽默度Fi和智商Si,现要求从N头牛中选择 若干头牛去参加比赛,假设这若干头牛的智商之和为sumS,幽默度之和为sumF 现要求在所有选择中,在使得sumS>=0&&sumF>=0的基础上,使得sumS+sumF最大并输出其值。思路:先求出不同体积下的最原创 2013-02-16 23:22:33 · 1052 阅读 · 2 评论 -
携程第二场 Poj 1182 食物链(带权并查集) Poj 1948 Triangular Pastures Poj(dp二维背包) 1740 A New Stone Game(博弈)
携程的第二场好多原题,网上好多题解。。。原创 2014-04-11 21:43:20 · 1739 阅读 · 0 评论