
——背包
文章平均质量分 58
FeBr2
(๑•̀ㅂ•́)و✧
展开
-
多重背包——(HDU-2191)
题意:为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。请问:你用有限的资金最多能采购多少公斤粮食呢?Input输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(1 Output对于每组测试原创 2016-03-27 12:31:03 · 599 阅读 · 0 评论 -
01背包(选择性)—— HDU 3466
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3466题意: 给出N个物品有P(价格),Q(现在金钱不小于Q才能购买),V(价值)三个属性,求在给定初始金钱M的条件下最大购买价值(Q>=P)分析:因为Q的属性为金钱不小于Q才能购买,那么就不能按照01背包那样随机拿了,我们要考虑尽可能购买更多的东西,即使能购买的东西最大,又购买了一件物品总金钱会减原创 2017-02-21 00:03:26 · 286 阅读 · 0 评论 -
背包问题详解
01 背包这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:for i in range(0, n): for j in range(0,limit): if j >= w[i]:原创 2017-02-21 01:09:22 · 551 阅读 · 0 评论 -
记忆化搜索(DP)—— Balance (POJ 1837)
题目链接: http://poj.org/problem?id=1837题意: 有一个天平,左右臂各长为15,给出天平上C个挂钩的位置,再给出G个砝码的重量,问有多少种方法能使这个天平保持平衡分析:乍看一眼我们发现这道题只能通过枚举状态来计算结果,但是状态数非常之多(GCG^C 即 202020^{20}),不过大多状态都是重复的,所以我们可以通过把状态记录下来,减少计算量。因为左右力矩之和最原创 2017-02-13 13:54:11 · 378 阅读 · 0 评论 -
DP(大容量背包的一种做法)—— POJ 1786
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1786题意:给出一个背包容量最大为1E9的背包,给出N(N<10)种物品,每种物品给出质量(不超过100),数量无限,每拿一次物品需要3s时间,求填满背包所需要的最小时间分析:这题看起来是一道普通的背包,但是背包容量太大,所以不可能直接将背包容量作为状态来做,我们需要另外找一个合适的量来作为状态。原创 2017-02-14 09:48:26 · 3163 阅读 · 0 评论 -
完全背包——Codeforces Round #302 (Div. 2) C. Writing Code
题目链接: http://codeforces.com/problemset/problem/544/C题意:给出 NN 个程序猿,第 ii 个程序猿写一行代码会产生 aia_i 个bug。你是他们的Boss,想知道怎么分配任务使得写完m行代码产生的bug数量不超过 mm ,否则你的公司就倒闭了:)分析: 因为每个程序猿的工作量没有上限(是的呢,剩余价值无限大(老铁,修仙吗?)),所以我们发现这原创 2017-04-04 20:49:42 · 397 阅读 · 0 评论 -
背包——AtCoder Regular Contest 073 #D
题目链接:http://arc073.contest.atcoder.jp/tasks/arc073_b题意:01背包的题意,但是物品价值为1~1E7,物品质量为1~1E9,但是每个物品的质量范围为 [w1,w1+3][w_1,w_1+3] 。分析: 虽然物品质量很大,但是都是在 [w1,w1+3][w_1,w_1+3] 以内,所以我们很容易就能想到把 w1w_1 都提取出来。那么原来01背包的原创 2017-04-29 23:46:35 · 554 阅读 · 0 评论