HDU 2546 饭卡 动态规划01背包
http://acm.hdu.edu.cn/showproblem.php?pid=2546
题意:
给你一些饭菜的价格,和你饭卡的余额,余额大于等于5元时可以刷任何价格的菜,算出你买了这些菜之后饭卡中最少的一组解(余额可以为负)。
坑爹:
这道题中,他的价格也就是背包中的容量,也是背包中的价值,总余额如果超出5元要将总余额减去5元的钱尽量用掉。
解法
用到了一点贪心的思想,用一个sort排序,将便宜的菜买了,尽量将饭卡里的余额靠近5元,然后在买一个最贵的菜,这样就会让饭卡里的余额最少了。
1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 5 const int maxn =1000 + 10; 6 int f[maxn]; 7 int more; 8 9 int max(int a,int b) 10 { 11 return a>b?a:b; 12 } 13 14 15 void ZeroOnePack(int cost,int weight) 16 { 17 int j; 18 for(j=more;j>=cost;j--) 19 { 20 f[j]=max(f[j],f[j-cost]+weight); 21 } 22 } 23 24 int main() 25 { 26 int n; 27 while(cin>>n,n) 28 { 29 int i; 30 int num[maxn]; 31 int money; 32 int exp; 33 int sum=0; 34 memset(f,0,sizeof(f)); 35 for(i=0; i<n; i++) 36 { 37 cin>>num[i]; 38 sum+=num[i]; 39 } 40 sort(num,num+n); 41 exp=num[n-1]; 42 cin>>money; 43 if(money<5) 44 { 45 cout<<money<<endl; 46 continue; 47 } 48 more=money-5; 49 for(i=0; i<n-1; i++) 50 { 51 ZeroOnePack(num[i],num[i]); 52 } 53 54 cout<<money-f[more]-exp<<endl; 55 } 56 return 0; 57 }
转载于:https://www.cnblogs.com/pcpcpc/archive/2012/09/05/2672502.html
HDU 2546 饭卡 动态规划01背包相关推荐
- hdu 2546 饭卡【01背包】
题目链接:https://vjudge.net/contest/103424#problem/C 饭卡 Time Limit: 5000/ ...
- hdu 2546 饭卡(01背包)
题意:只要最后留下的钱够5元,就可以买下最贵的食物,使得余额最低,其他的钱的使用就是一个最大背包问题了. 代码: #include<iostream> #include<cstrin ...
- HDU 2546 饭卡(01背包裸题)
饭卡 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- HDU 2546 饭卡 01背包变形
饭卡 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- hdu 2546 饭卡【贪心+01背包基础题】
链接: http://acm.hdu.edu.cn/showproblem.php?pid=2546 http://acm.hust.edu.cn/vjudge/contest/view.action ...
- hdu 2546 饭卡——一道简单的 01背包
今天讲的是动态规划,学长们拉了13道题让我们做一下,一下午大概4小时,做了5道题(还是太弱了 摊手) 题意: 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上 ...
- HDU -2546饭卡(01背包+贪心)
这道题有个小小的坎,就是低于5块不能选,大于5块,可以任意选,所以就在初始条件判断一下剩余钱数,然后如果大于5的话,这时候就要用到贪心的思想,只要大于等于5,先找最大的那个,然后剩下的再去用背包去选择 ...
- 【Cqupt热身赛】诡异的饭卡 【01背包、动态规划】
DescriptionDescriptionDescription 海女美术大学食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于555元,就一定可以购 ...
- hdu 2546 饭卡(P01-背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2546 转载请注明出处:http://blog.csdn.net/u012860063 饭卡 Time ...
- HDOJ 2546饭卡(01背包问题)
http://acm.hdu.edu.cn/showproblem.php?pid=2546 Problem Description 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如 ...
最新文章
- MySQL优化篇:explain性能分析
- 第七届杭州云栖大会召开 阿里云在人工智能领域发力
- 如何用好消息推送(JPush)为app拉新、留存、促活
- 贴一段数组动态扩容的代码
- 3.Java中的关键字和注释
- RabbitMQ—性能测试
- 2018-3-24Linux系统管理(13)程序包管理(3)yum前端配置及编译
- 陈景润:激励青年勇攀科学高峰的典范
- php写按条件查询代码,php如何实现按条件查询
- JSP页面间传递参数
- Object-C 与C/C++的区别
- 基于蒙特卡洛的大规模电动汽车充电行为分析(Matlab代码实现)
- Qt添加工具栏按钮————附详细步骤
- Doom3引擎初始化分析
- org.postgresql.util.PSQLException: ERROR: column loginid of relation userinfo does not exist
- 疫情防控之防疫消杀管理系统
- HDOJ 5142 NPY and FFT
- 《网络空间测绘技术与实践》正式发售,让网络空间作战“有图可依”
- MySql 笛卡儿积
- 终端服务的剪贴板的缺陷,导致WPF调用Clipboard.SetText() 失败
热门文章
- html资源路径404,webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)...
- 基于Python3爬取百度百科内容(可自己输入关键字)
- 风控中英文术语手册(银行_消费金融信贷业务)_version6
- win7 时间服务器地址修改,win7 时间服务器地址修改
- for的循环在php那边使用,for循环如何在php怎么中使用
- 翻译:iOS上的MVVM + RxSwift架构对比 MVC,MVVM,MVP和VIPER
- Json转换为Model,Struct,Class对象 Swift
- 批量识别图片大致不相同图片_一款非常优秀的文字识别工具,可以批量图片识别文字...
- java 如何将word 转换为ftl_3种方法轻松将PDF转换为Word文档,办公必备
- Evolved Transformer