HDU 2546 饭卡(贪心+DP)
题目链接
几个月之前做的一个题了,开始想时就看出应该是个01背包问题,又发现不太一样,貌似应该是有种贪心策略,把最大的挑出来最后还有5块钱的再买,剩下的体积用01背包去求最优选择,当时WA了3次,以为算法有问题,难道用o(n^3)算法吗。。枚举每一种物品然后用01背包的取得的最优解+物品的价值,然后最后找最大的。。感觉复杂度有点高啊。。。然后就放下了,今天又想起来了,搜了下题解,原来是饭卡开始的时候<5 的时候 情况漏了。。。。我晕。。。。
1 #include<stdio.h> 2 #include<string.h> 3 int p[1001],k[1001]; 4 int main() 5 { 6 int a,b,c,d,max,i,max1; 7 while(scanf("%d",&a)!=EOF) 8 { 9 memset(k,0,sizeof(k)); 10 if(a==0)break; 11 max=0; 12 d=1; 13 for(b=1; b<=a; b++) 14 { 15 scanf("%d",&p[b]); 16 if(max<p[b]) 17 { 18 max=p[b]; 19 d=b; 20 } 21 } 22 scanf("%d",&c); 23 for(b=1; b<=a; b++) 24 { 25 if(b!=d) 26 { 27 for(i=c-5; i>=p[b]; i--) 28 { 29 if(k[i]<k[i-p[b]]+p[b]) 30 k[i]=k[i-p[b]]+p[b]; 31 } 32 } 33 } 34 max1=0; 35 for(b=1; b<=c-5; b++) 36 { 37 if(max1<k[b]) 38 max1=k[b]; 39 } 40 if(c >= 5)//少了这个判断。。。 41 printf("%d\n",c-max1-max); 42 else 43 printf("%d\n",c); 44 } 45 return 0; 46 }
转载于:https://www.cnblogs.com/naix-x/archive/2012/07/21/2602380.html
HDU 2546 饭卡(贪心+DP)相关推荐
- hdu 2546 饭卡【贪心+01背包基础题】
链接: http://acm.hdu.edu.cn/showproblem.php?pid=2546 http://acm.hust.edu.cn/vjudge/contest/view.action ...
- 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 饭卡(P01-背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2546 转载请注明出处:http://blog.csdn.net/u012860063 饭卡 Time ...
- HDU——2546 饭卡
Problem Description 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负) ...
- hdu 2546 饭卡——一道简单的 01背包
今天讲的是动态规划,学长们拉了13道题让我们做一下,一下午大概4小时,做了5道题(还是太弱了 摊手) 题意: 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上 ...
- Hdu 2546 饭卡
饭卡 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- hdu 2546 饭卡【01背包】
题目链接:https://vjudge.net/contest/103424#problem/C 饭卡 Time Limit: 5000/ ...
- hdu 2546 饭卡(01背包)
题意:只要最后留下的钱够5元,就可以买下最贵的食物,使得余额最低,其他的钱的使用就是一个最大背包问题了. 代码: #include<iostream> #include<cstrin ...
最新文章
- RegeX —— 可视化正则表达式替换器
- 0基础学习ios开发笔记第二天
- P1967 货车运输
- (转载)关于IAP与APP互相跳转的实现
- cassandra生产监控_碎玻璃:诊断生产Cassandra问题
- php 日期转毫秒_【小技巧】 各种日期操作方法汇总
- ASP.NET 用户控件自定义属性、方法、事件
- AI开发者十问:10分钟了解AI开发的基本过程
- 关闭报错_Cydia Impactor工具各种报错提示的解决方法!
- python二进制反码例题_python中的进制转换和原码,反码,补码
- 请别拿程序员当工人使唤!
- 准备成立公司开发 app 外卖应用,怎么起步?
- 手动创建maven项目+cmd+webapp+tomcat
- MySQL基础教程4-SQL基础概念
- android webview 获取cookie,Android WebView 之Cookie
- editplus mysql模板_editplus下载
- Git添加用户名、密码、修改用户名密码
- win10电脑网络适配器Wireless-AC 9560 160MHz 感叹号解决方案
- 你的走路姿势正确吗?步态不对牵连多种疾病
- Omnipeek空口抓包(4):抓取路由器下的无线网络包
热门文章
- CCNA的全套标准实验
- SQL Server 2005数据库日志文件损坏的情况下如何恢复数据库
- 二叉树遍历的递归、非递归方法(前序、中序、后序,层序)——Java实现
- 【IM】关于最小二乘法及约束的理解
- 损失函数中正则化项L1和L2的理解
- 【数据平台】dataframe一列成多列
- Leetcode 347. 前K个高频元素 解题思路及C++实现
- 解决mysql“Access denied for user root@localhost”
- 快速上手RaphaelJS--RaphaelJS_Starter翻译(一)
- Python+selenium自动化:页面加载慢、超时加载情况下内容已经加载完毕的快速执行脚本解决方案,页面加载时间过长优化方案