(01背包 排序+特判)饭卡(hdu 2546)
某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。
第一行为正整数n,表示菜的数量。n<=1000。
第二行包括n个正整数,表示每种菜的价格。价格不超过50。
第三行包括一个正整数m,表示卡上的余额。m<=1000。
n=0表示数据结束。
如果 m 小于5的话,直接输出m;
#include <iostream> #include <queue> #include <cmath> #include <cstdio> #include <cstring> #include <cstdlib> #include <stack> #include <vector> #include <algorithm>using namespace std;#define N 2100 #define met(a,b) (memset(a,b,sizeof(a)))int a[N]; int dp[N];int main() {int n;while(scanf("%d", &n), n){int i, j, m, ans;met(a, 0);met(dp, 0);for(i=0; i<n; i++)scanf("%d", &a[i]);scanf("%d", &m);sort(a, a+n);for(i=0; i<n-1; i++)for(j=m-5; j>=a[i]; j--)dp[j] = max(dp[j], dp[j-a[i]]+a[i]);if(m>=5) ans = m-(dp[m-5]+a[n-1]);else ans = m;printf("%d\n", ans);}return 0; }
转载于:https://www.cnblogs.com/YY56/p/5537274.html
(01背包 排序+特判)饭卡(hdu 2546)相关推荐
- hduoj 饭卡 java_饭卡 HDU - 2546
饭卡 HDU - 2546 原题链接 考察:01背包 这道题懵逼半天,看了大佬的代码终于懂了点 思路: 这道题是和购买顺序有关的,我们先拿出最贵的菜,同时余额拿出5元,在剩余的余额尽可能买总和贵的菜. ...
- 饭卡 HDU - 2546
电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够).所以大家 ...
- 【基础算法训练】—— 01背包 + 排序
目录 前言 第一题 977. 有序数组的平方
- 暑假N天乐 —— 01背包及变形
暑假集训的第一天 第二天了. 决定还是先把基础巩固一下好了,万一后面训练赛出事故更尴尬. 所以今天的主题是 -- 01背包及变形 动态规划概念 动态规划(Dynamic programming,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】饭卡 (dp,0-1背包,贪心思想)
电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够).所以大家 ...
- HDU 2546 饭卡 01背包变形
饭卡 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- hdu 2546 饭卡(01背包)
题意:只要最后留下的钱够5元,就可以买下最贵的食物,使得余额最低,其他的钱的使用就是一个最大背包问题了. 代码: #include<iostream> #include<cstrin ...
- hdu 2546 饭卡——一道简单的 01背包
今天讲的是动态规划,学长们拉了13道题让我们做一下,一下午大概4小时,做了5道题(还是太弱了 摊手) 题意: 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上 ...
最新文章
- from server sql 拼接统计两个子查询_4复杂查询-SQL
- Ubuntu中安装配置和卸载FTP(转)
- python数学公式代码导入_NumPy 数学函数及代数运算的实现代码
- MySQL复习资料(二)——MySQL-DDL语句
- 精简 opencv python_基于Python的OpenCV人脸检测!简直不要太简单!
- KPN iTV的敏捷转型之旅
- java set 接口_java笔记四:Set接口
- python 正则表达 10分钟入门
- C语言编程齿轮轮廓线坐标,C语言程序实现齿轮基本参数几何尺寸计算
- matlab软件进行仿真验证,matlab仿真软件
- C/C++,pascal函数调用约定
- 奔跑吧,旅行商 - 当机器学习遇上组合优化
- 【个人硬件开源分享】基于ESP32的能量机关主控受控模块,伏虎单手摇杆重力感应加摇杆加LCD屏幕分为左手和右手,基于PD5048A的I2C总线扩展级联器
- 桌面的计算机图标误删了怎么恢复,删除桌面图标-如何恢复桌面图标不小心将某个程序的桌面图标给删了,怎么恢复呢 爱问知识人...
- 接了个私单,结果对方有部分尾款迟迟不付,还好有留了个后门
- 个人身份认证接口介绍
- oracle ipac,Oracle VM VritualBOX安装Centos详解与注意事项
- 程序员笑话全集,可悲的程序员
- jni-Demo-基于linux(c++ java)
- Java:1018: 奇数偶数
热门文章
- python版本时间_python 获取文件版本号和修改时间
- 计算机设备操作与讲解,第五章计算机操作系统设备管理讲解.ppt
- php curl exec ch,PHP curl_exec函数
- SQLserver添加主键
- Springboot读取application.properties文件乱码
- [渝粤教育] 重庆电子工程职业学院 信息技术与人工智能基础 参考 资料
- 【渝粤教育】国家开放大学2018年秋季 2115T人体解剖学与组织胚胎学 参考试题
- 【Python实例第2讲】特征提取集成方法
- ACM 学习笔记(三) 数学入门
- 键盘各键对应的ASCII码值(包括鼠标和键盘所有的键)