HDU-1114-DP-Piggy-Bank
2015-10-30 02:28
295 查看
题意
让你输入空的存钱罐的质量empty,还有存满时的质量full。
要求求出这个存钱罐的可能最小钱数
思路
完全背包
dp[i] = min(dp[i],dp[j-w[i]]+p[i])
让你输入空的存钱罐的质量empty,还有存满时的质量full。
要求求出这个存钱罐的可能最小钱数
思路
完全背包
dp[i] = min(dp[i],dp[j-w[i]]+p[i])
[code]/************************************************************************* > File Name: main.cpp > Author:Chazz >************************************************************************/ #include <iostream> #include <cstdio> #include <cstdlib> #include <algorithm> #include <vector> #include <string.h> #define N 100005 #define INF 10000000 int dp ; int p ; int w ; using namespace std; int main(void) { int T; int a,b,tal; int n; cin>>T; while(T--) { scanf("%d%d",&a,&b); tal = b - a; scanf("%d",&n); for(int i = 1;i <= n;i++) { scanf("%d%d",&p[i],&w[i]); } dp[0]=0; for(int i = 1; i <= tal; i++) dp[i]=INF; for(int i = 1; i <= n; i++) for(int j = w[i]; j <= tal; j++) { dp[j]=min(dp[j],dp[j-w[i]]+p[i]); } if(dp[tal]==INF) printf("This is impossible.\n"); else printf("The minimum amount of money in the piggy-bank is %d.\n",dp[tal]); } return 0; }
相关文章推荐
- programming-challenges (2/3/4)-D Sqr/Rects/Cubes/Boxes ? (111206) 题解
- 【转知乎】异地恋如何维持之I世间心智灵慧,常发乎温润谦恭。
- HDU-1087-DP-Super Jumping! Jumping! Jumping!
- Android UI的优化
- 【转知乎】异地恋如何维持之电子本科生
- 【转知乎】异地恋如何维持之I love three things
- Flask -- 静态文件 和 模板渲染
- Array vs Linked List
- 【转知乎】异地恋如何维持之凝神于心 用志不分
- UIButton 的实现原理
- UVa 11464-Even Parity 偶数矩阵-bitmask+暴力
- 夺命雷公狗jquery---47---$符号控制权替换
- *Trap Rain Water
- MySQL中的行级锁SELECT FOR UPDATE 和LOCK IN SHARE MODE 区别
- [LintCode] Topological Sorting
- 把JavaEE编写的servlet,配置到tomcat7.0
- MySql学习笔记_04_单独说下日期和时间类型&&枚举类型
- 机器学习六--K-means聚类算法
- programming-challenges Dermuba Triangle (111207) 题解
- Word Search