传送门: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

POJ :3614-Sunscreen相关推荐

  1. 【POJ 3614 Sunscreen】贪心 优先级队列

    题目链接:http://poj.org/problem?id=3614 题意:C头牛去晒太阳,每头牛有自己所限定的spf安全范围[min, max]:有L瓶防晒液,每瓶有自己的spf值和容量(能供几头 ...

  2. poj 3614 Sunscreen(优先队列+贪心)

    Description To avoid unsightly burns while tanning, each of the C (1 ≤ C ≤ 2500) cows must cover her ...

  3. POJ 3614 Sunscreen

    Sunscreen Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 12907   Accepted: 4534 Descri ...

  4. POJ - 3614 Sunscreen(贪心/二分图最大匹配-多重匹配/网络流-最大流)

    题目链接:点击查看 题目大意:给出n头奶牛,奶牛们现在要晒太阳,每头奶牛需要[l,r]区间内的光照强度,现在有m种防晒霜,每种防晒霜可以让奶牛接受到val数值的光照强度,然后每种防晒霜只有num个,现 ...

  5. POJ:3461-Oulipo(KMP模板题)

    原题传送:http://poj.org/problem?id=3461 Oulipo Time Limit: 1000MS Memory Limit: 65536K Description The F ...

  6. POJ:1182 食物链(带权并查集)

    http://poj.org/problem?id=1182 Description 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物,以1 ...

  7. POJ:3276-Face The Right Way(线性反转)

    Face The Right Way Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 6259 Accepted: 2898 De ...

  8. POJ3614 Sunscreen【贪心】

    Sunscreen Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10348   Accepted: 3618 Descri ...

  9. 古董电脑室:2019日记簿(五)

    古董电脑室:2019日记簿(五) 蓬岸 Dr.Quest 电脑博物馆 www.DNBWG.com 站长 致知计划 科技数码季收录 50 人赞同了该文章 2019年10月6日 给大家汇报一下网页里的电脑 ...

最新文章

  1. 浅析如何从吸引蜘蛛爬取的角度进行网站内容优化建设
  2. 什么是 Unix 以及它为什么这么重要?
  3. pygame-KidsCanCode系列jumpy-part6-主角挂掉重新开始
  4. 20165301课下作业
  5. 《python核心编程》学习笔记
  6. 兄弟HL2130打印机清零方法(绝对可用)
  7. 运维安全·Web组件安全·Nginx
  8. bgp (二)改变下一跳本地,
  9. 魔兽世界mysql启动不了_WOW 魔兽世界单机版 3.3 不能启动服务器的解决方案 | 学步园...
  10. 联想y450安装黑苹果
  11. python新建记事本_python怎么创建文本文件
  12. 荧光量子产率计算机模拟,如何提高荧光染料的量子产率,或许可以从这里找到答案...
  13. Linux网络之DNS域名解析概述
  14. Kotlin高仿微信-项目实践58篇
  15. 完爆阿尔法狗元,DeepMind用5000台TPU训练出新算法,1天内称霸3种棋类
  16. 大学生电子设计竞赛电源资料
  17. discuz 数据字典大全
  18. 自己动手实现文件文件夹树列表选择框(xingyun86源码)
  19. 投资银行业务财务报表分析
  20. 【愚公系列】回顾2022年技术博客的总结与展望

热门文章

  1. Ubuntu更新过程被中断后的问题
  2. Taro+react开发(15)--对应文件编译
  3. [html] 举例说明只用html和css如何使得一个列表编号倒序?
  4. 前端学习(2895):课程列表和导航结合
  5. [vue] vue如何优化首页的加载速度?
  6. [vue] 有使用过vue吗?说说你对vue的理解
  7. 前端学习(2717):重读vue电商网站37之通过switch开关更改用户状态
  8. 前端学习(2359):如何注册事件
  9. 前端学习(927):淘宝flexiblejs源码分析之pageshow原理
  10. 前端学习(686):for循环