hdu1114Piggy-Bank题解(完全背包)
2016-05-30 22:54
363 查看
这是一道简单的完全背包问题,套模板就可以a了。
状态转移方程: f[j]=min(f[j],f[j-w[i]]+p[i]);
状态转移方程: f[j]=min(f[j],f[j-w[i]]+p[i]);
#include <stdio.h> #define INF 29999999 #define mmin(X,Y) ((X)<(Y)?(X):(Y)) int n,p[510],w[510],f[10510]; int main(int argc, char const *argv[]) { int t,i,j,ep,fp,nw; scanf("%d",&t); while(t--) { scanf("%d %d",&ep,&fp); scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d %d",p+i,w+i); nw=fp-ep; for(j=1;j<=nw;j++) f[j]=INF; for(i=1,f[0]=0;i<=n;i++) { for(j=w[i];j<=nw;j++) f[j]=mmin(f[j],f[j-w[i]]+p[i]); } if(f[nw]<INF) printf("The minimum amount of money in the piggy-bank is %d.\n",f[nw] ); else puts("This is impossible."); } return 0; }
相关文章推荐
- 使用_CrtSetDbgFlag检测内存泄露
- java线程的同步代码块关键字synchronized
- java学习笔记整理
- Android 面试题总结之Android 基础(二)
- Easy-题目72:349. Intersection of Two Arrays(增补5)
- 第6课:Spark Streaming源码解读之Job动态生成和深度思考
- nodejs/koa中route的全匹配
- 3.2.了解一些74HC595的预备知识并编写其时序函数
- Android 面试题总结之Android 基础(六)
- Android修改时间实现
- Spark Sreaming与MLlib机器学习
- 2016第23周一
- QT项目性能调优小记
- uid(组件id) = userId + appId (android多用户)
- UIView属性的动画
- 决定先吃点早饭睡一觉
- php - 类和对象
- Yii2与Yii1的模块中Layout使用区别
- Yii2与Yii1的模块中Layout使用区别
- 像360悬浮窗那样,用WindowManager做一个炫酷的悬浮迷你音乐盒(下)