HDU 1114 Piggy-Bank 【求最小值的完全背包】
2018-03-10 19:48
369 查看
传送门
// 题意: 给定一个存钱罐的空体积和装满前的体积, 给定n种硬币的价值以及体积, 问能否刚好把存钱罐装满, 并且装满后的存钱罐最少的钱是多少, 其中n种硬币可以用任意次.
思路: 任意次就是完全背包, 然后要恰好装满, 那么dp初始或还是为inf(因为这求的是最小值), dp[0] = 0, 然后max 改成 min 即可…….
AC Code
// 题意: 给定一个存钱罐的空体积和装满前的体积, 给定n种硬币的价值以及体积, 问能否刚好把存钱罐装满, 并且装满后的存钱罐最少的钱是多少, 其中n种硬币可以用任意次.
思路: 任意次就是完全背包, 然后要恰好装满, 那么dp初始或还是为inf(因为这求的是最小值), dp[0] = 0, 然后max 改成 min 即可…….
AC Code
const int maxn = 5e2+5; int v[maxn], w[maxn]; int dp[10005]; void solve() { int st, ed, tot, n; cin >> st >> ed; cin >> n; tot = ed - st; for (int i = 1 ; i <= n ; i ++) { cin >> w[i] >> v[i]; } Fill(dp, inf); dp[0] = 0; for (int i = 1 ; i <= n ; i ++) { for (int j = v[i] ; j <= tot ; j ++) { dp[j] = min(dp[j], dp[j-v[i]] + w[i]); } } if (dp[tot] < inf) { printf("The minimum amount of money in the piggy-bank is %d.\n", dp[tot]); } else printf("This is impossible.\n"); }
相关文章推荐
- hdu 1114 Piggy-Bank(完全背包) dag边权之和最小
- HDU 1114 Piggy-Bank (完全背包 + 取最小值)
- hdu1114——Piggy-Bank(完全背包求最小价值)
- HDU1114题Piggy-Bank(最小值的完全背包)
- HDU 1114 Piggy-Bank(完全背包)
- hdu 1114 Piggy-Bank (完全背包)
- HDU 1114 Piggy-Bank (完全背包)
- hdu 1114 Piggy-Bank(完全背包)
- HDU 1114 Piggy-Bank 完全背包 .
- HDU 1114 Piggy-Bank(完全背包动态规划+变形)
- HDU1114 Piggy-Bank完全背包变形
- HDU 1114 Piggy-Bank完全背包
- hdu 1114 Piggy-Bank 完全背包
- hdu(1114)——Piggy-Bank(完全背包)
- hdu 1114 Piggy-Bank(完全背包)
- HDU 1114 Piggy-Bank 猪仔储钱罐(完全背包)
- HDU 1114 Piggy-Bank(完全背包+恰好装满)
- HDU 1114 Piggy-Bank 解题报告(完全背包)
- hdu 1114 Piggy-Bank(完全背包)
- hdu 1114 Piggy-Bank(完全背包)