摘要:
POJ 3176 Cow Bowling 题意: 给出一个数字三角形,每个分叉路口可以选择一条道路向下走,获得路上的点的权值。求可以获得的最大权值是多少? 思路: 从上向下走和从下向上走是一样的,为了方便最后统计答案,所以这里直接转化为从下向上走。 定义状态: 我们需要知道当每个位置的权值,所以定义 阅读全文
摘要:
POJ 1015 Jury Compromise 题意: 有 $n$ 对数字,要从 $n$ 对数字中选出 $m$ 对,目标是使得第一组的数字和与第二组的数字和的差的绝对值最小。基于差的绝对值最小的基础上,两组数的总和最大,输出两组最后的分数,以及选法。 思路: 类似 $01$ 背包问题,并且需要输出 阅读全文
摘要:
HDU-2639 Bone Collector || 01背包问题,但是需要输出的是可以获得的第 $k$ 大价值。 思路: 状态定义? 我们要求的是第 $k$ 大价值,所以当我们得到一个当前第 $k + 1$ 大的价值的时候,可以直接舍去,因为它一定不是第 $k$ 大的价值。然后我们又需要知道目前得 阅读全文
摘要:
Acwing 12. 背包问题求具体方案 01背包问题,但是要求输出 字典序最小的方案数 。 思路: 状态转移方程: $f[i][j] = max(f[i - 1][j],f[i - 1][j - v[i]] + w[i])$ 求具体方案其实就是判断每个物品是否被选,求方案其实就是从 $f[n,m] 阅读全文
摘要:
P1064 [NOIP2006 提高组] 金明的预算方案 在 P1064 [NOIP2006 提高组] 金明的预算方案 这题中,引入了 主件和附件 的关系 比如说 ~~要求你加入集训队试训之前,一定要刷完专题~~ 一个主件和它的附件集合是几乎对于分组背包中的一个物品组。 每个选择了主件又选择了若干附 阅读全文
摘要:
P1757 通天之分组背包 有 $N$ 件物品和一个容量为 $V$ 的背包。第 $i$ 件物品的费用是 $C_i$ ,价值是 $W_i$ 。这些物品被划分为 $K$ 组,每组中的物品互相冲突,最多选一件。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 思路: 将同一组的 阅读全文
摘要:
P1507 NASA的食物计划: 航天飞机的体积有限,当然如果载过重的物品,燃料会浪费很多钱,每件食品都有各自的体积、质量以及所含卡路里。在告诉你体积和质量的最大值的情况下,请输出能达到的食品方案所含卡路里的最大值,当然每个食品只能使用一次。 思路: 状态定义? 现在不仅仅对提及有限制,还对质量有限 阅读全文
摘要:
Acwing 7. 混合背包问题 有 $N$ 种物品和一个容量是 $V$ 的背包。 物品一共有三类: 第一类物品只能用 $1$ 次(01背包); 第二类物品可以用无限次(完全背包); 第三类物品最多只能用 $s_i$ 次(多重背包); 每种体积是 $v_i$,价值是 $w_i$。 求解将哪些物品装入 阅读全文
摘要:
和这道题几乎一模一样:https://www.cnblogs.com/zxr000/p/16999729.html 实现: #include <bits/stdc++.h> using namespace std; const int N = 4e4 + 5; int f[N], n, m; str 阅读全文
摘要:
cf 189A Cut Ribbon 题意: 给一长度为 $n$ 的钢条,要求将其剪成若干长度为 $p, q, r$ 的短条,且短条数量尽可能多。 裁出的长度只能是 $p,q,r$不能有其他长度。要求恰好裁完,保证答案存在。 思路: $f[i]$ 表示的是当空间为 $i$ 的时候有多少种方法放满。 阅读全文