背包
文章平均质量分 74
u010290366
这个作者很懒,什么都没留下…
展开
-
背包方案数
背包方案数 主要有两类问题。 货币组成方案。有若干种面值的货币,问在一定范围内,能组成不同面值,有多少种方案。可以是01背包,或者完全背包。 最优解的方案数。问题背景是01背包,问最优解的方案数。 下面分别用两道例题来说明。 数字组合 算法分析: 01背包的思路。f[i][j]f[i][j]f[i][j]表示规划到了第i个数字,他们的总和为j的方案数。这是恰的定义方式。对于第i个数字,可取可不取。 f[i][j]=f[i−1][j]+f[i−1][j−a[i]]f[i][j] = f[i-1][j]原创 2021-01-13 12:18:46 · 165 阅读 · 0 评论 -
281. 硬币
多重背包:281. 硬币 题目链接:硬币 **算法分析: 初看起来就是个简单的分组背包,CiC_iCi不大于1000,二进制拆分最多拆出10个数,这样时间复杂度在10810^8108,勉强。提交后,数据强,超时。以下是标准二进制拆分超时代码。 #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> using na原创 2021-01-13 20:02:32 · 76 阅读 · 1 评论