动态规划
lkaiii
这个作者很懒,什么都没留下…
展开
-
01背包
今天重新复习了一下动态规划,先从最简单的01背包开始 01背包的思路是dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+c[i]); 其中i表示第几个物品,j表示现在装了多重的物品,dp表示此时的价值。 由此即可得到其代码 #include #include #include using namespace std; int n,v; int main() {原创 2017-12-29 18:57:21 · 130 阅读 · 0 评论 -
HDU 6407 Pop the Balloons (状压dp + 剪枝 。。。 结果大数 int128就行 )
具体 看代码吧: #include <bits/stdc++.h> using namespace std; #ifdef __LOCAL_DEBUG__ # define _debug(fmt, ...) fprintf(stderr, "\033[94m%s: " fmt "\n\033[0m", \ __func__, ##__VA_ARGS__) ...转载 2018-08-15 21:31:22 · 358 阅读 · 0 评论 -
ACM-ICPC 2018 焦作赛区网络预赛 K.Transport Ship(01背包求方案数)
样例输入 1 1 2 2 1 1 2 样例输出 0 1 题意: 有n种船,第i船能载v[i]重量的货物,有(2^c[i])-1 艘第i种船,有q个询问 每个询问问你正好装s重量的货物的方案数(每艘船要装满) 思路:题目中 每种船的个数是关键。 对于 (2^c[i])-1 艘船 可以分为 2^0+2^1+2^2+...+2^(c[i]-1) 如果我们将每项分开当成...原创 2018-09-16 21:39:12 · 188 阅读 · 0 评论