poj 3614
http://poj.org/problem?id=3614
题意:有n头奶牛想要晒太阳,但他们每个人对太阳都有不同的耐受程度,也就是说,太阳不能太大也不能太小,现在有一种防晒霜,涂抹这个防晒霜可以把太阳的强度固定到一个值
求一共有多少头奶牛可以晒太阳
#include <stdio.h>
#include <queue>
#include <stdlib.h>
using namespace std; int m,n;
struct co{
int mi,ma;
}cow[ ]; struct suns{
int num,val;
}bot[ ];
int cmp(const void *a,const void *b)
{
return (*(co *)a).mi-(*(co *)b).mi;
}
int cmp1(const void *a,const void *b)
{
return (*(suns *)a).val-(*(suns *)b).val;
} int main()
{
int c,l,ans = ,tmp = ;
priority_queue<int, vector<int>, greater<int> >s; //构建一个大值优先的优先队列
scanf("%d%d",&c,&l);
for(int i = ; i <= c ; i++)
scanf("%d%d",&cow[i].mi,&cow[i].ma);
for(int i = ; i <= l ; i++)
scanf("%d%d",&bot[i].val,&bot[i].num);
qsort(cow,c + ,sizeof(cow[]),cmp); //对奶牛和防晒霜进行排序。
qsort(bot,l + ,sizeof(bot[]),cmp1);
for(int i = ; i <= l ; i++)
{
while(tmp <= c && cow[tmp].mi <= bot[i].val) //把可以用这种防晒霜奶牛进队列
{
s.push(cow[tmp++].ma);
}
while(!s.empty()&&bot[i].num) //然后计算这一种防晒霜可以在几头牛上用
{
int x = s.top();
s.pop();
if(x<bot[i].val) continue;
ans++;
bot[i].num--;
}
}
printf("%d\n",ans);
return ;
}
poj 3614的更多相关文章
- poj -3614 Sunscreen(贪心 + 优先队列)
http://poj.org/problem?id=3614 有c头奶牛在沙滩上晒太阳,每头奶牛能忍受的阳光强度有一个最大值(max_spf) 和最小值(min_spf),奶牛有L种防晒霜,每种可以固 ...
- POJ 3614 Sunscreen 贪心
题目链接: http://poj.org/problem?id=3614 Sunscreen Time Limit: 1000MSMemory Limit: 65536K 问题描述 to avoid ...
- 【POJ 3614 Sunscreen】贪心 优先级队列
题目链接:http://poj.org/problem?id=3614 题意:C头牛去晒太阳,每头牛有自己所限定的spf安全范围[min, max]:有L瓶防晒液,每瓶有自己的spf值和容量(能供几头 ...
- 【POJ 3614】 Sunscreen
[题目链接] http://poj.org/problem?id=3614 [算法] 将MinSPF从大到小排序,每头牛找SPF值最大的防晒霜 [代码] #include <algorithm& ...
- Heap:Sunscreen(POJ 3614)
晒太阳 题目大意:一堆牛,为了避免晒太阳会灼烧自己,然后他们自己有自己的防晒指数(一个区间),防晒霜可以提高防晒因数SPF,大了不行小了不行,现在有一桶防晒霜,他们提供一定的SPF,但是最多可以提供k ...
- poj 3614 Sunscreen
...
- POJ 3614 Sunscreen 优先队列 贪心
题意 有C个奶牛去晒太阳 (1 <=C <= 2500),每个奶牛各自能够忍受的阳光强度有一个最小值和一个最大值,太大就晒伤了,太小奶牛没感觉. 而刚开始的阳光的强度非常大,奶牛都承受不住 ...
- Sunscreen(POJ 3614 优先队列)
Sunscreen Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5898 Accepted: 2068 Descrip ...
- Sunscreen POJ - 3614(贪心)
To avoid unsightly burns while tanning, each of the C (1 ≤ C ≤ 2500) cows must cover her hide with s ...
随机推荐
- 详解三种缓存过期策略LFU,FIFO,LRU(附带实现代码)
在学操作系统的时候,就会接触到缓存调度算法,缓存页面调度算法:先分配一定的页面空间,使用页面的时候首先去查询空间是否有该页面的缓存,如果有的话直接拿出来,如果没有的话先查询,如果页面空间没有满的时候, ...
- ubuntu下面更改用户名的方法
在装HADOOP 系统时候不小心, 没有将三台机器的用户名设置为一致的用户名,导致后面发生很多麻烦.下面总结一下UBUNTU中改用户名的方法. 1. 先给系统添加一个super用户,我们用这个用户名 ...
- Java学习笔记(三)
今天主要学习了ant ant概述 ant是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.在实际软件开发中,有很多地方可以用到ant 开发环境: Sy ...
- Oracle视图时间戳转为Date
CREATE OR REPLACE VIEW PDAORDER AS SELECT po.id id, po.order_no AS order_no, po.money AS money, (SEL ...
- VR、AR、MR的区别
VR.AR.MR定义: 什么是虚拟现实? 虚拟现实(Virtual Reality,简称VR,又译作灵境.幻真)是近年来出现的高新技术,也称灵境技术或人工环境.虚拟现实是利用电脑模拟产生一个三维空间的 ...
- MathType6.9按章节插入编号
先插入Chapter,然后修改break主要是该起始编号. 这样话会用一行红色红代码,选中,邮件字体,然后在格式里选择隐藏就好了,这个不能删除.
- URL.createObjectURL和URL.revokeObjectURL
一.URL.createObjectURL URL.createObjectURL()方法会根据传入的参数创建一个指向该参数对象的URL. 这个URL的生命仅存在于它被创建的这个文档里,新的对象URL ...
- 华硕win10文档类文件点击右键时会闪一下,没法用右键打开文件
华硕的win10系统,把系统自带的福昕软件Foxit PhantomPDF卸载了就好了
- ASP.NET MVC Filter- 登录验证 【异步刷新列表视图】
public class TAjaxListLoginValidateAttribute : FilterAttribute, IAuthorizationFilter { public void O ...
- jQuery导入Eclipse后报错解决方法
使用Eclipse 3.7及以上版本时,工程中加入jquery.min.js文件,发现该文件出现错误提示(红×),但使用Eclipse 3.7以前的版本就不会出现这种提示.是因为Eclips ...