背包
文章平均质量分 72
nooooteY
这个作者很懒,什么都没留下…
展开
-
HDU 2159 FATE
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159题意:不解释。。。分析:二维完全背包。背包容量:忍耐度M和杀怪数S,背包价值:杀怪经验。状态转移方程:f[j][k]=max(f[j-1][k-cost[i]]+w[i],f[i][j]),f[j][k]指对第i种怪进行完全背包,这里要注意j,k要从小到大进行。 Source Code原创 2013-03-31 10:56:10 · 651 阅读 · 0 评论 -
HDU 1506 1505 2870 2830一类DP的总结
HDU 1506 1505 2870 2830这几题是一类DP题目,值得认真体会,回味。 HDU 1506:链接: http://acm.hdu.edu.cn/showproblem.php?pid=1506题意:求出一个直方图的最大矩形面积。分析:DP。分别用l[],r[]记录一个直方图的矩形高度向左和向右延伸的位置,具体见代码... Source Code:#原创 2013-03-31 22:59:15 · 1273 阅读 · 0 评论 -
POJ 2184 Cow Exhibition
链接:http://poj.org/problem?id=2184题意:一群奶牛要去参加展览。衡量一头奶牛的好差有两个标准:smartness Si (-1000 (-1000 分析:如果这题没有“SUM(Si) 和SUM(Fi)都大于等于0”的限制的话,就是简单的01背包,但加上这条限制就不能简单的将两者的和作为背包的物品价值。怎么办呢?我们可以固定一个因素作为背包的物品费用,另一个原创 2013-07-07 10:13:42 · 953 阅读 · 0 评论 -
UVA 624 CD
题目抽象:给出容量V,以及N个物品的费用,问容量V所能装下的最大空间,并输出方案。分析:01背包,另开一个数组记录状态转移时的策略。Code:#include#include#includeusing namespace std;const int maxn=10010;int f[maxn],cost[maxn];bool g[25][maxn];int原创 2013-07-04 09:33:48 · 786 阅读 · 0 评论 -
HDU 3535 AreYouBusy
转自:http://www.cnblogs.com/jackge/archive/2013/04/22/3036374.html链接:http://acm.hdu.edu.cn/showproblem.php?pid=3535经典混合背包 题目给了很多类别的物品。用 数组dp[i][j],表示第i组,时间为j时的快乐值。每得到一组工作就进行一次DP,所以dp[i]为第i原创 2013-07-03 21:15:34 · 884 阅读 · 0 评论 -
UVA 147 Dollars
题意:有十一种面值的钱币,给出一个数额分析:完全背包。递推DP。由于题目给出的是两位小数,所以可以乘以一百转化成整数,那么最大的数额变成30000。注意到题目给出的面值都是5的倍数,所以可以全部除以5转化成1,2,3,10,20....,最大的数额也由30000缩小到了6000,是一个很的改进。 注意精度的处理。还有答案可能是个很大的数,应该用long long int。Cod原创 2013-07-04 11:15:49 · 693 阅读 · 0 评论 -
POJ 2063 Investment
链接:http://poj.org/problem?id=2063题意:一个人开始有M$钱用来投资,D种债券,每种费用Ci(且Ci有:The value of a bond is always a multiple of $1 000),年底可获利Vi。第二年又可用初始的钱+盈利的钱去投资,一共投资Y年。分析:完全背包。由于初始的钱很大(100W),所以直接做会TLE。(看到题我想都没想就原创 2013-07-05 20:56:34 · 797 阅读 · 0 评论 -
POJ 3181 Dollar Dayz
题意:数额为N的金钱,问用面值为1,2,3...k的钱可以有多少种不同的组合方法。分析:完全背包。要用到高精度。Code:#include#include#include#include#define LL long longusing namespace std;const int maxn=1010;const LL inf=1000000000000000原创 2013-07-05 17:10:13 · 629 阅读 · 0 评论 -
HDU 2639 Bone Collector II
题意:容量为V的背包,n个物品,每个物品有一个费用及价值,问背包装这些东西所能得到的最K大价值。分析:01背包求第K优解。Code:#include#include#includeusing namespace std;const int maxn=1010;int f[maxn][33],val[110],cost[110];int ori[33],now[33原创 2013-07-05 08:24:11 · 775 阅读 · 0 评论 -
HDU 3810 Magina
直接贴上ZeroClock的分析吧。。。题目大意:题目源自Dota,前面一堆介绍敌法师,最后一段才开始说有n堆野兽,每堆野兽屠杀完完需要花费ti时间,可以增加金钱gi,敌法师有瞬移技能,可以从某堆野兽移到另一堆野兽,题目有给定从哪堆可以移到哪堆。最后问在满足打的金钱多余m的情况下的最少时间。解题思路:2011年武汉邀请赛网络赛的金牌题,题目看上去很复杂,又是原创 2013-07-05 12:28:59 · 957 阅读 · 0 评论 -
HDU 3033 I love sneakers!
题意:有S款运动鞋,一个n件,总钱数为m,求不超过总钱数且每款鞋子至少买一双的情况下,使价值最大。如果 有一款买不到,就输出“Impossible"。分析:分组背包。这个题的关键还是在于初始化,如果我们一开始把dp初始化为0,则当所有鞋子的价值都是0时,我们就无法区分是买不全那几款鞋子还是能买全但最大价值是0;因此,要把S!=0的dp[S][j]初始化为-1,便于区分。 这是一个带原创 2013-07-03 09:46:15 · 1119 阅读 · 2 评论 -
HDU 2844 Coins
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2844题意:Hibix要买一个最多要花费M的手表,但具体多少钱不知道。但他有n种硬币,价值分别为A1,A2...An,且分别有C1,C2...Cn个。问用这些硬币可以凑够钱数的种类。分析:多重背包。注意初始化就可以了。 Source Code:#include #include#in原创 2013-03-31 16:56:20 · 770 阅读 · 0 评论 -
背包小结
1.HDU 3466 Proud Merchants题意:给定n个物品和钱m,每个物品有价格p,限制钱数q,价值v,限制q的意思是你手头的前必须大等于q才能装买这个物品,问最后获得的最大价值。n分析见:http://blog.csdn.net/hrhacmer/article/details/92250752.HDU 1114 Piggy-Bank题意:给出一个储钱罐的原创 2013-07-17 11:09:20 · 854 阅读 · 0 评论