背包
魂骸
不同阶段看到不同的风景,只有不断努力才会知道自己有多菜。
菜鸡希望大佬多指点0.0 热爱交友欢迎加我QQ983167354,注明备注。
展开
-
HDU 6092Rikka with Subset
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6092题目意思T组测试,接下来一行n和m,下面一行m+1个数字代表B(0~m)求A序列,Bi 代表A序列中的所有子集之和为i的有Bi个,A序列总和为m,n个元素; 解题思路一个0 1背包问题,有空子集等于1可以得出初始值dp【0】=1;然后根据b数组和为i个数-dp中由小数子加和为的个数得出a数组中原创 2017-08-09 10:51:23 · 203 阅读 · 0 评论 -
HDU 3339 In Action(最短路(Spfa)+01背包)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=3339题目意思有人要炸地球,占领了很多核电厂来发射核弹,所以你要切掉他的电源,当切掉电源达到总和的一半时候你将成功。当是身为穷鬼的军方又想找条最近的路,省油省钱。问你最少花多少钱。如果没法阻止输出”不可能“。解题思路选择最短路径用最短路算法,判断能源够不够,最佳是多少用01背包(路径相当价值,能源相原创 2017-12-16 20:56:26 · 182 阅读 · 0 评论 -
HDU 4501 小明系列故事——买年货(三维背包)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=4501题目意思小明有v1块钱,v2积分,和免费拿的k个名额,现在有n个物品,每个物品分别有需要的钱a,需要的积分b,和价值val。问你小明最多可以拿到最大价值是多少解题思路每个物品都是一个,都有3种方式得到,所以开个三维的01背包就可以了代码部分#include <bits/stdc++.h>us原创 2017-11-19 19:46:53 · 219 阅读 · 0 评论 -
HDU1114 Piggy-Bank(完全背包)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=1114题目意思给一个存钱罐初始重量和最终重量,给你n种银币,每种银币有对应的价值和重量,问存钱罐里面最低的价值是多少,如果没法得到输出“This is impossible.”解题思路由于要正好得到,所以初值要赋成INF,然后跑一边完全背包就可以了代码部分#include <bits/stdc++.原创 2017-11-19 20:51:42 · 171 阅读 · 0 评论 -
HDU2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (多重背包)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=2191题目意思有n种大米,每种大米都有价格ai,重量bi和数量ci,问给定m元钱,最多购买多少大米解题思路多重背包的模板题,单大米数量乘单价大于给定m元钱时候,这种大米相当于完全背包任意取,单大米数量小于m时,把数量用二进制优化跑long2n次01背包代码部分#include <bits/stdc+原创 2017-11-19 20:37:53 · 172 阅读 · 0 评论 -
HDU2693 骨头收藏家II(第k大背包)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=2639题目意思给你n种骨头,每种骨头占用对应的空间,却有相应的价值。现在你有v的背包,问第k大的价值是多少(相同价值只算一次)解题思路第k大背包题,处理下值相同情况就可以了代码部分#include <bits/stdc++.h>using namespace std;#define LL lon原创 2017-11-19 20:29:17 · 343 阅读 · 0 评论 -
HDU2844 Coins(多重背包)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=2844题目意思给你n种银币,每种银币价值ai有bi个,问你不超过m元的能组合出多少种价格解题思路相当一个v的多重背包。代码部分#include <bits/stdc++.h>using namespace std;#define LL long longconst int maxn=105;原创 2017-11-19 20:18:28 · 260 阅读 · 0 评论 -
HDU3449 Consumer(有依赖背包)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=3449题目意思有N个箱子,每个箱子需要花费Ai的代价 箱子里面有K个物品,K个物品你可以选择买任意个,但每个物品只能买一个,每个物品有相应的花费和价值 你又M的大洋,最后问最多能得到多少价值物品。解题思路先对每组选择里的所有物品进行0-1背包处理,但背包容量为(总容量-盒子容量);然后跟上一原创 2017-11-19 20:08:53 · 267 阅读 · 0 评论 -
HDU1059 AreYouBusy(混合背包)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=1059题目意思给你n种作业,每种作业里面分为m个工作,每种工作消耗一定时间获得一定快乐值,每种作业遵循规定:0.至少要选其中一个工作。 1. 至多可以取其中一个工作。 2.可以任意取中任意个工作(每个工作只能做一次)。现在给你个时间t问最多能获得多少快乐值,如果没法按要求则输出-1.解题思路经典混合原创 2017-11-14 17:50:51 · 167 阅读 · 0 评论 -
HDU 2159 FATE(二维完全背包)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=2159题目意思你需要n点经验升级,有把忍耐度为m的武器,现在有k种怪物,每种怪物有无限只,你最多杀s只,问是否能够升级,如果能输出还可以杀多少只,如果不能输出-1.解题思路一个二维的完全背包题目。直接上代码代码部分#include <bits/stdc++.h>using namespace st原创 2017-11-13 19:51:19 · 212 阅读 · 0 评论 -
HDU1059 Dividing(多重背包)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=1059题目意思题目大意:给你价值为1到6的物品各ai个,问这写物品的价值是否可以平分解题思路给的数据时间非常微妙,如果直接01背包跑会哇,但是用多重背包不跑完全背包部分又可以过,所以直接把各物品数量按二进制来分解,然后跑01就可以了(如13分为:1 2 4 6,这4个数字任意组合可以得到1到13的任原创 2017-11-13 19:12:19 · 205 阅读 · 0 评论 -
HUD2602 Bone Collector(01背包)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=2602题目意思题目大意:给你n种价值的东西,没个物品都有个价值m和体积v,问给定一个V的背包存最大的价值。解题思路标准的01背包题,没坑直接上代码了代码部分#include <bits/stdc++.h>using namespace std;#define LL long longconst原创 2017-11-10 20:37:57 · 146 阅读 · 0 评论 -
HDU 1171 Big Event in HDU
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=1171题目意思题目大意:给你n种价值的东西,每种东西都有m个,问你把这m*n个东西分成两部分,问你怎么分两部分最接近。解题思路直接求空间n*m/2的背包最大值就可以了,由于时间给的很多,数值也不大就直接用01背包跑就可以了。代码部分#include <bits/stdc++.h>using nam原创 2017-11-10 20:16:38 · 166 阅读 · 0 评论 -
HDU 1421 搬寝室
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=1421题目意思xhd要搬宿舍,有n件物品,只搬其中2*k件,每次搬运时疲劳值值为左右手的物品重量差的平方。问最少用多疲劳值搬完。解题思路不难想到相邻的物品一起搬最省力,所以将n件物品排序,从第二件物品开始没次加一件物品,如果选择搬运就和前一个物品一起搬,或者选择不搬。所以状态转...原创 2018-03-05 20:41:46 · 132 阅读 · 0 评论