POJ :3614-Sunscreen

传送门:http://poj.org/problem?id=3614

Sunscreen

Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 10136 Accepted: 3544

Description

To avoid unsightly burns while tanning, each of the C (1 ≤ C ≤ 2500) cows must cover her hide with sunscreen when they’re at the beach. Cow i has a minimum and maximum SPF rating (1 ≤ minSPFi ≤ 1,000; minSPFi ≤ maxSPFi ≤ 1,000) that will work. If the SPF rating is too low, the cow suffers sunburn; if the SPF rating is too high, the cow doesn’t tan at all……..

The cows have a picnic basket with L (1 ≤ L ≤ 2500) bottles of sunscreen lotion, each bottle i with an SPF rating SPFi (1 ≤ SPFi ≤ 1,000). Lotion bottle i can cover coveri cows with lotion. A cow may lotion from only one bottle.

What is the maximum number of cows that can protect themselves while tanning given the available lotions?

Input

  • Line 1: Two space-separated integers: C and L
  • Lines 2..C+1: Line i describes cow i’s lotion require

s with two integers: minSPFi and maxSPFi
* Lines C+2..C+L+1: Line i+C+1 describes a sunscreen lotion bottle i with space-separated integers: SPFi and coveri

Output

A single line with an integer that is the maximum number of cows that can be protected while tanning

Sample Input

3 2
3 10
2 5
1 5
6 2
4 1

Sample Output

2


解题心得:

  1. 题意就是奶牛要去日光浴,奶牛要涂防晒霜,每个奶牛有一个涂防晒霜的区间,每个防晒霜有一个值和数量,问最多可以涂多少只奶牛。
  2. 其实面对的最大的问题就是一个奶牛将可以用多个防晒霜,但是它用了其中一个和另一个奶牛产生冲突的防晒霜,所以可以将防晒霜按照值排序,每次取一个出来,将最小值小于这个防晒霜的奶牛都压入优先队列(按照终点排序),再从优先队列中来取。这样就能先安排好奶终点先结束的奶牛。

#include <stdio.h>
#include <queue>
#include <algorithm>
using namespace std;const int maxn = 2510;
typedef pair <int,int> P;P cow[maxn],co[maxn];
int n,m;int main() {scanf("%d%d",&n,&m);for(int i=0;i<n;i++)scanf("%d%d",&cow[i].first,&cow[i].second);for(int i=0;i<m;i++)scanf("%d%d",&co[i].first,&co[i].second);sort(cow,cow+n);sort(co,co+m);priority_queue <int, vector<int> , greater <int> > qu;int j = 0,ans = 0;for(int i=0;i<m;i++) {while(j<n && cow[j].first <= co[i].first) {qu.push(cow[j].second);j++;}while(!qu.empty() && co[i].second) {if(qu.top() >= co[i].first) {ans++;co[i].second--;}qu.pop();}}printf("%d\n",ans);return 0;
}

转载于:https://www.cnblogs.com/GoldenFingers/p/9107141.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/414456.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自定义注解-aop实现日志记录

关于注解&#xff0c;平时接触的可不少&#xff0c;像是 Controller、Service、Autowried 等等&#xff0c;不知道你是否有过这种疑惑&#xff0c;使用 Service 注解的类成为我们的业务类&#xff0c;使用 Controller 注解的类就成了请求的控制器&#xff0c;使用 Autowried 注…

java开发资源下载链接

MQ:http://activemq.apache.org/download-archives.html MQdemo下载链接&#xff1a;https://download.csdn.net/download/meixi_android/10896200 myeclipse2013:https://www.newasp.net/soft/66664.html myeclipse2015:https://pan.baidu.com/s/1Od34IV92ECk5XulnuVTFrA#list…

CentOS 7配置Let’s Encrypt支持免费泛域名证书

Let’s Encrypt从2018年开始支持泛域名证书&#xff0c;有效期3个月&#xff0c;目前仅支持acme方式申请&#xff0c;暂不支持certbot。 1、安装acme.sh curl https://get.acme.sh | sh 2、请求证书&#xff08;泛域名以*.s-b.me为例&#xff09; cd /.acme.sh ./acme.sh --iss…

JPA EnableJpaAuditing 审计功能

关于自动填充或更新实体中的 CreateDate、CreatedBy 等在之前有一篇 jeecg 默认为空的字段值是如何被填充的? 有提到通过拦截器的方式实现&#xff0c;但是今天带大家了解一下如果使用 JPA 的审计功能是如何简单实现该操作的。 JPA Audit 说明 在 Spring JPA 中&#xff0c;支…

前端学习(2789):改进导航栏并跳转

第一步:动态数据 第二步 页面渲染

Android 图片识别、图像识别

实现效果 基于百度智能云实现的图片识别 实现步骤 1、到百度智能云注册图像识别应用 https://console.bce.baidu.com/ai/?_1574674029784&fromai1#/ai/imagerecognition/overview/index 2、配置ID与key 3、实现demo&#xff1a;https://download.csdn.net/download/meix…

Android 高德地图在清除所有Marker,清除某一个MarKer

清除所有&#xff1a;aMap.clear(true); 清除单个&#xff1a; marker.remove();

C++语言第一课的学习

1 // HelloApp.cpp: 定义控制台应用程序的入口点。2 //3 4 #include "stdafx.h"5 #include <iostream>6 #include "head.h"7 using namespace std;8 9 10 int main() 11 { 12 int num0; 13 cout << "输入1个数字&#xff1a;&qu…

WebSocket 实现前后端通信的笔记

之前在做站内信时&#xff0c;用到了 WebSocket &#xff0c;整理了一些笔记分享如下。 本文基于 SpringBoot 2.1.5&#xff0c;本文不涉及环境搭建。 引入依赖 在 Spring 中要使用 WebSocket 功能&#xff0c;需要在pom中引入依赖&#xff1a; <dependency><groupI…

redis笔记——redis事务及锁应用

1.redis支持简单的事务 2.redis 和 mysql事务的对比 MysqlRedis开启start transactionmulti&#xff08;并不执行&#xff0c;放在一个队列里&#xff09;语句普通sql普通命令失败rollback回滚discard取消成功commitexecrollback 和 discard 的区别&#xff1a; 如果已经成功执…

Android 地图搜索商家,检索关键字(高德地图,百度地图),地址搜索

1、高德地图 实现效果 打印数据 实现步骤&#xff1a; 1、首先去高德开放平台注册应用 高德开放平台&#xff1a;https://lbs.amap.com/ 2、点击 我的应用 ——>设置 注&#xff1a;SHA1获取方法&#xff1a;https://blog.…

全局异常捕获处理-@ControllerAdvice+@HandleException

涂涂影院管理系统这个demo中有个异常管理的标签&#xff0c;用于捕获 涂涂影院APP用户异常信息 &#xff0c;有小伙伴好奇&#xff0c;排除APP&#xff0c;后台端的是如何处理全局异常的&#xff0c;故项目中的实际应用已记之。 关于目前的异常处理 在使用全局异常处理之前&am…

前端学习(2791):实现上拉加载更多

判断页面是否有十条数据 没有 则消失

使用DOM4J解析XML时非法字符Exception

最近在做简单的解析XML的工作&#xff0c;我使用的是DOM4J来解析&#xff0c;可以说很方便了&#xff0c;在加上使用XPATH来具体确定XML中特定元素下的位置&#xff0c;更加便捷了 可是在使用XML解析是却遇到了这样的问题&#xff1a; org.xml.sax.SAXParseException: An inval…

2019金球奖——梅西

在公元2019年12月3日&#xff0c;梅西加冕金球奖六冠王&#xff0c;今天我是梅西&#xff0c;今天属于梅西&#xff0c;祝贺梅西&#xff01; 王者气质 十全十美 实至名归 六金闪耀 蓦然回首&#xff0c;已是十年信仰

定时任务 Scheduled quartz

在项目应用中往往会用到任务定时器的功能&#xff0c;比如某某时间&#xff0c;或者多少多少秒然后执行某个骚操作等。 spring 支持多种定时任务的实现&#xff0c;其中不乏自身提供的定时器。 接下来介绍一下使用 spring 的定时器和使用 quartz 定时器。 前言 spring 自身提供…

前端学习(2792):下拉刷新

开启下拉刷新 延迟下拉刷新 解决下拉刷新 传递callback有就刷新 无就不刷新

Android 打开另一个APP,H5打开APP方法,打开淘宝、京东、天猫、拼多多。需求、商品详情或优惠券页面

1、在待打开的APP注册可被外APP调用的activity <activity android:name".TwoActivity"><intent-filter ><action android:name"android.intent.action.VIEW" /><category android:name"android.intent.category.DEFAULT"/…