博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sunscreen [POJ3614] [贪心]
阅读量:4701 次
发布时间:2019-06-09

本文共 1736 字,大约阅读时间需要 5 分钟。

描述

C (1 ≤ C ≤ 2500) 头奶牛在海滩边晒太阳,要避免在日光浴时产生难看的灼伤,每头奶牛必须用防晒霜覆盖它的皮肤。第 i 头奶牛有一个最小和最大 SPF 值 (1 ≤ minSPFi ≤ 1,000; minSPFimaxSPFi ≤ 1,000) 将会起作用。如果 SPF 值太低,则奶牛会受到日光灼伤;如果 SPF 值太高,则牛奶无法进行日光浴。

奶牛们有一个野餐篮子,带了 L (1 ≤ L ≤ 2500) 瓶防晒霜乳液,第 i 瓶的 SPF 值是 SPFi (1 ≤ SPFi ≤ 1,000) 。第 i 瓶防晒霜可以涂抹覆盖 coveri 头奶牛。一头牛奶只能用一瓶防晒霜涂抹。

对于给定的防晒霜乳液,最多可以有多少头奶牛能够在日光浴时避免被灼伤?

输入

* 第 1 行: 两个以空格分隔的整数: CL

* 第 2 到 C+1 行: 第 i 行描述了第 i 头奶牛的防晒霜约束条件,包括两个整数: minSPFimaxSPFi
* 第 C+2 到 C+L+1 行: 第 i+C+1 行描述了第 i 个防晒霜瓶,包括以空格分隔的整数: SPFicoveri

输出

只包含一个整数的单行,表示日光浴时受到防晒保护的奶牛的最大数量。

示例输入
3 23 102 51 56 24 1
示例输出
   2
分析
这个就是点能覆盖最多区间个数的问题
我们按右端点排好序,然后从左边开始选有没有点能覆盖当前区间的点去覆盖
为什么这样做?
因为后面的区间有两种可能
1.后面区间左端点在当前区间左端点前面,这个没有影响
2.后面区间左端点在当前区间左端点后面,这时你就明白为什么要从左边开始选了。因为后面区间的左端点更靠后,有可能前边一个区间能选到的点,后面那个区间够不着,而当前又把靠后的点选了,万一后面的区间只有那个靠后的点可选,那它就无点可选了,此时显然当前区间选更考前的点会更优
所以,题目讲完了
代码
1 #include
2 #include
3 #include
4 #include
5 #include
6 #define maxn 2505 7 #define inf (1<<30) 8 #define RG register int 9 #define rep(i,a,b) for(RG i=a;i<=b;i++)10 using namespace std;11 int n,m,ans;12 int pos[1005];13 struct Dat{14 int l,r;15 bool operator < (const Dat &a)const{16 return r
'9'){ if(c=='-')f=-1;c=getchar();}23 while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}24 return x*f;25 }26 27 int main()28 {29 int a,b;30 n=read();m=read();31 rep(i,1,n) dat[i].l=read(),dat[i].r=read();32 sort(dat+1,dat+1+n);33 rep(i,1,m) a=read(),b=read(),pos[a]+=b;34 rep(i,1,n)35 {36 rep(j,dat[i].l,dat[i].r)37 if(pos[j]){pos[j]--,ans++;break;}38 }39 printf("%d",ans);40 return 0;41 }
View Code

 

转载于:https://www.cnblogs.com/ibilllee/p/9221027.html

你可能感兴趣的文章
codevs1018 单词接龙(DFS)
查看>>
内容分发系统MediaEW:助新闻媒体转投HTML5
查看>>
HTML5 Canvas ( 径向渐变, 升级版的星空 ) fillStyle, createRadialGradient
查看>>
Stanford Local Programming Contest 2011
查看>>
多线程中,NSOperationQueue和GCD的区别
查看>>
python生成.exe文件
查看>>
PHP面向对象(OOP)----分页类
查看>>
监听SD卡状态
查看>>
vs2017 EFCore 迁移数据库命令
查看>>
serialVersionUID的作用
查看>>
liunx trac 插件使用之GanttCalendarPlugin
查看>>
(14)嵌入式软件开发工程师技能要求总结
查看>>
[hackerrank]Closest Number
查看>>
volatile关键字
查看>>
[Android] TabLayout设置下划线(Indicator)宽度
查看>>
<潭州教育>-Python学习笔记@条件与循环
查看>>
web自动化之验证码识别解决方案
查看>>
netty接收大文件的方法
查看>>
软件工程设计之四则运算
查看>>
SpringMVC @ResponseBody 406
查看>>