poj 1252 Euro Efficiency 完全背包,可以找零
来源:互联网 发布:软件杯 编辑:程序博客网 时间:2024/05/14 03:30
题目大意:给6种不同面额硬币,求组成[1,100]中数的平均需要硬币与最多需要硬币数,可以通过减法获得,比如有1、4两种硬币,凑成3可以用4-1两个硬币完成,而不是1+1+1三个硬币。
乍一看,很水的题,DP做得话要注意两点:
一:题目不仅仅有+的操作,也有哦-的操作,所以需要正向和反向各dp一遍才行。。
二:题目dp不能只开到100.。而是要开大点,到2000足以。。因为我们假设。。存在1、95、96、97、98、99这样又大又互质的数据。。那么算的话会算到很大的数,所以需要多开。。2000就够。。网上大牛说的。。。
题目其实真心不难,但是交上去总是WA,最后搞不懂了,只好看看别人的才知道上界弄错了。。。。
#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>using namespace std;#define INF 0x3f3f3f3fint dp[20001],w[2001];int main(){ int t; scanf("%d",&t); while(t--) { for(int i=0; i<6; i++) scanf("%d",&w[i]); for(int i=1; i<=2000; i++) dp[i]=INF; dp[0]=0; for(int i=0; i<6; i++) for(int j=w[i]; j<=2000; j++) //这个地方犯二了,竟然只开到100后来错了好几次实在找不到哪错了看了别人的代码才发现不能只开到100 dp[j]=min(dp[j],dp[j-w[i]]+1); for(int i=0; i<6; i++) for(int j=2000-w[i]; j>=1; j--) dp[j]=min(dp[j],dp[j+w[i]]+1); int maxl=0; double sum=0; for(int i=1; i<=100; i++) { if(maxl<dp[i]) { maxl=dp[i]; } //printf("i=%d dp==%d\n",i,dp[i]); sum+=dp[i]; } // printf("***%d\n",sum); printf("%.2f %d\n",sum/100,maxl); } return 0;}
0 0
- poj 1252 Euro Efficiency 完全背包,可以找零
- poj 1252 Euro Efficiency(多次完全背包)
- poj 1252 Euro Efficiency(多次完全背包)
- poj 1252 Euro Efficiency 正负完全背包
- POJ 1252 Euro Efficiency【完全背包正负】
- poj 1252 Euro Efficiency 正负完全背包
- POJ 1252 Euro Efficiency(完全背包变型)
- poj 1252 Euro Efficiency(完全背包)
- POJ Euro Efficiency 完全背包
- POJ 题目1252Euro Efficiency(背包变形,允许找零)
- poj 1252 zoj 1558 Euro Efficiency 完全背包
- POJ 1252 Euro Efficiency 2个完全背包
- POJ 1252 Euro Efficiency(BFS or 完全背包)
- POJ - 1252 Euro Efficiency(正负背包)
- poj 1252 Euro Efficiency
- poj 1252:Euro Efficiency
- POJ 1252 Euro Efficiency
- Euro Efficiency 1252 (正负完全背包 好题)
- 滚动条宽度到底是多少?
- Android viewpager 界面切换动画实现
- 趣说Visitor模式
- 销售订单更新、导入API OE_Order_PUB.Process_Order
- 如何快速做出一个按钮
- poj 1252 Euro Efficiency 完全背包,可以找零
- AndroidManifest.xml解读
- 变量区别
- Android SQLite的创建
- ICCBBA的ISBT 128编码标准 检验码在codesoft的实现
- iOS推送小结(证书的生成、客户端的开发、服务端的开发)
- 利用MATLAB解决人工神经网络模拟预测问题研究
- ViewHolder模式超简洁写法
- warning C4996: '_snprintf' was declared deprecated 警告信息的消除方法