
背包
acunstoppable
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ3181 动态规划 完全背包
题意: 给定1…k元面额的硬币,每种无限个,问能刚好凑成n元的方式数。 思路: 完全背包 + 前缀和优化 反思 : get到简易版大数加法。 代码:#include <cstdio> #include <cstring> #include <iostream> using namespace std;long long dp[100 + 10][1000 + 10][2]; int ma原创 2018-03-11 00:30:14 · 216 阅读 · 0 评论 -
POJ1742 动态规划 多重背包
题意: 问多重部分和能否恰好等于m。 思路: dp[i][j]:用前i种面额硬币凑成j后,第i种硬币最多剩下的个数,若凑不成则为-1.可优化空间复杂度。 反思: 想不出应该如此定义dp数组。 代码:#include <cstdio>using namespace std;int a[100 + 10]; int c[100 + 10]; int dp[100000 + 10];int m原创 2018-03-10 16:39:34 · 173 阅读 · 0 评论 -
POJ2392 动态规划 多重背包
题意:多重背包。略有区别的是,背包容量是每种砖块的Ai,价值和费用都是Hi。 思路: 多重背包转化为01背包和完全背包。 反思: 迫使自己学习了二进制优化,挺好的。 代码:#include <cstdio> #include <cstring> #include <algorithm> #include <cmath> using namespace std; const int MAXN原创 2018-03-25 22:14:37 · 257 阅读 · 0 评论 -
POJ2184 动态规划 01背包
题意: 某物 i , 有两种属性值 s[i] 和 f[i] ,每件物品可取或不取,求最后S + F的最大值,同时保证S >= 0 且 F >= 0。(S 为取出的 s[i] 的总和, F为取出的 f[i] 的总和) 思路: 1、涉及到取与不取的问题,很自然地想到了背包。 “物品的价值”这个显而易见,但是“背包的容量”在哪里?我们可以把两个维度 T 和 S,任取一个当作“物品的价值”,另一个做原创 2018-03-26 01:55:30 · 236 阅读 · 0 评论