caioj:1682: 【贪心】买一送一
题目描述
【题意】
CH最近在网上发现干草买一送一的一笔交易,他每买一捆尺寸为A的干草,就可以免费获赠一捆尺寸为 B (1 ≤ B < A)的干草,注意B < A。
然而,这个买卖是有限制的:需要花钱的干草都是高质量的,而免费赠送的都是次品。然而节俭的CH并不在意质量:为了省钱他会买任意质量的干草。
给出N捆高质量的干草,以及M捆次品干草,找出CH最多可以买到多少捆干草。他可以单独买高质量的干草而没有获赠免费的次品干草;但是他不能单独买次品干草。
【输入描述】
第1行: 两个用空格隔开的整数:N和M。
第2行到第N+1行:每行一个整数,表示一捆高质量干草的尺寸。
第N+2行到第N+M+1行:每行一个整数,表示一捆次品干草的尺寸。
【输出描述】
唯一一行:一个整数,表示CH可以买到干草的最大捆数。
【样例输入】
3 4
6
1
3
1
5
3
4
【样例输出】
5
【提示】
样例说明:
共有3捆高质量的干草,尺寸分别是6,1,和3; 共有4捆次品干草,尺寸分别是1,5,3,和4。
显然,FJ可以买到所有高质量的干草。当他买尺寸为6的高质量干草时,他可以获赠尺寸为3的次品。当他买尺寸为3的高质量干草时,他可以获赠尺寸为1的次品。然而,当他买质量为1的高质量干草时,无论如何,他都不可能再获赠次品干草。所以答案就是3+2=5。
1 ≤ A ≤ 1,000,000
1 ≤ N ≤ 10,000
1 ≤ M ≤ 10,000
题解:
这道题十分水,首先高级稻草我们可以全部买齐,每个低级稻草都要配对一个离它最近且比他大的稻草才不会浪费,最后加上能派对上高级稻草的低级稻草的个数
代码(建议自己打):
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int a[21000],b[21000],n,m;
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)scanf("%d",&a[i]);
for(int i=1;i<=m;i++)scanf("%d",&b[i]);
sort(a+1,a+n+1);
sort(b+1,b+m+1);
int ni=n;//ni表示没配对低级稻草的个数
for(int i=m;i>=1;i--)
{
if(ni==0)break;
if(b[i]<a[ni])ni--;//如果这颗高级稻草配对了一枚低级稻草,那么把他踢出为匹配队列
}
printf("%d\n",n+n-ni);
return 0;
}
注:上面的图片侵权抱歉!
caioj:1682: 【贪心】买一送一的更多相关文章
- CSU-2172 买一送一
CSU-2172 买一送一 Description ICPCCamp 有 n 个商店,用 1, 2, -, n 编号.对于任意 i > 1,有从商店 \(p_i\) 到 i 的单向道路. 同时, ...
- 牛客假日团队赛2 A.买一送一
链接: https://ac.nowcoder.com/acm/contest/924/A 题意: Farmer John在网上买干草.他发现了一笔特殊的买卖.他每买一捆大小为A(1 <= A ...
- 2019牛客国庆集训派对day3 买一送一
题目链接: 题意:有n个点,n-1条单向边,每个点都销售一类商品 问从点1开始走,买第一样商品类型为x,买第二样商品类型为y,问不同有序对<x,y>的数量 解法: col[i]表示这个点的 ...
- [牛客] [#1108 J] [树形结构] 买一送一
2019牛客国庆集训派对day3 链接:https://ac.nowcoder.com/acm/contest/1108/J来源:牛客网 题意 ICPCCamp 有 n 个商店,用 $1,2,..., ...
- CF335F Buy One, Get One Free 贪心
题意: \(n\)个物品,每个物品有一个价格,买一个高价格的物品,可以选择免费得到一个价格严格低于这个物品的物品.求得到\(n\)个物品的最小代价. 题解: 神仙贪心-- 题目要求求出最小代价,相当于 ...
- Leetcode 贪心 Best Time to Buy and Sell Stock
本文为senlie原创.转载请保留此地址:http://blog.csdn.net/zhengsenlie Best Time to Buy and Sell Stock Total Accepted ...
- 应用程序框架实战十八:DDD分层架构之聚合
前面已经介绍了DDD分层架构的实体和值对象,本文将介绍聚合以及与其高度相关的并发主题. 我在之前已经说过,初学者第一步需要将业务逻辑尽量放到实体或值对象中,给实体“充血”,这样可以让业务逻辑高度内聚, ...
- 小菜学习设计模式(一)—模板方法(Template)模式
前言 设计模式目录: 小菜学习设计模式(一)—模板方法(Template)模式 小菜学习设计模式(二)—单例(Singleton)模式 小菜学习设计模式(三)—工厂方法(Factory Method) ...
- 比较牛X的互联网公司都有哪些作死的行为
以下为近乎家的小近吐血整理: 1流氓行为 臭表碾说的就是你们! 百度 还有这种伪造网页弹窗: 360 不经同意,也不弹窗提醒,直接给我们安装推广软件.比较典型的是 腾讯 腾讯一直走在行业最前端,买 ...
随机推荐
- JavaScript写入文件到本地
工作中有时需要通过 JavaScript 保存文件到本地,我们都知道 JavaScript 基于安全的考虑,是不允许直接操作本地文件的.IE 可以通过 VB 插件的方式进行,而 Chrome 和 fi ...
- u-boot分析(四)---设置异常向量表|设置SVC模式
u-boot分析(四) 通过前三篇的分析,我们对u-boot已经有了整体的认识和掌握,但是我们仍然对于其部分硬件是如何初始化的不太清楚,所以接下来几篇博文我将会对我们在http://www.cnblo ...
- appium-python-api中文文档
来自https://wenku.baidu.com/view/533603ce581b6bd97e19eaa1.html mark,同时提供给需要使用python写脚本的童鞋们
- javaWeb上移下移(SpringMVC+Mabits+MySql)
文章已移至:https://blog.csdn.net/baidu_35468322/article/details/79643356 移动之前: 移动之后: 1.控制层 /** * 修改排序 * * ...
- HCNA配置接口IP地址
1.拓扑图 2.R1配置 The device is running! <Huawei>sys <Huawei>system-view Enter system view, r ...
- SQL Server 2008数据备份与还原的原理是什么?
为什么SqlServer有完整备份.差异备份和事务日志备份三种备份方式,以及为什么数据库又有简单模式.完整模式和大容量日志模式这三种恢复模式.本文内容适用于2005以上所有版本的SqlServer数据 ...
- Python模块与函数
python的程序由包(package).模块(module)和函数组成.模块是处理某一类问题的集合,模块由函数和类组成,包是由一系列模块组成的集合.包必须至少包含一个__init__.py文件,该文 ...
- Javascript作业—取字符串的第一个只出现一次的字母
js作业 取字符串第一个只出现一次的字母 <script type='text/javascript'> //取a-z字符串中第一个只出现一次的字母 function firstUniqu ...
- DOM笔记(十二):又谈原型对象
因为之前谢过一篇关于原型对象的笔记:浅谈JavaScript中的原型模式.现在我又重新看到这个话题,对原型有了进一步的理解,所以,又要谈谈原型对象. 一.理解原型对象 创建的每一个函数都有一个prot ...
- ACM Arabella Collegiate Programming Contest 2015 F. Palindrome 并查集
题目链接:http://codeforces.com/gym/100676/attachments 题意: 给一个字符串,有一些约束条件,两个位置要相同,有一些是问号,求最后有多少种方案回文? 分析: ...