1707: [Usaco2007 Nov]tanning分配防晒霜

Time Limit: 5 Sec  Memory Limit: 64 MB
Submit: 810  Solved: 387
[Submit][Status][Discuss]

Description

奶牛们计划着去海滩上享受日光浴。为了避免皮肤被阳光灼伤,所有C(1 <= C <= 2500)头奶牛必须在出门之前在身上抹防晒霜。第i头奶牛适合的最小和最 大的SPF值分别为minSPF_i和maxSPF_i(1 <= minSPF_i <= 1,000; minSPF_i <= maxSPF_i <= 1,000)。如果某头奶牛涂的防晒霜的SPF值过小,那么阳光仍然能 把她的皮肤灼伤;如果防晒霜的SPF值过大,则会使日光浴与躺在屋里睡觉变得 几乎没有差别。为此,奶牛们准备了一大篮子防晒霜,一共L(1 <= L <= 2500)瓶。第i瓶 防晒霜的SPF值为SPF_i(1 <= SPF_i <= 1,000)。瓶子的大小也不一定相同,第i 瓶防晒霜可供cover_i头奶牛使用。当然,每头奶牛只能涂某一个瓶子里的防晒霜 ,而不能把若干个瓶里的混合着用。 请你计算一下,如果使用奶牛们准备的防晒霜,最多有多少奶牛能在不被灼 伤的前提下,享受到日光浴的效果?

Input

* 第1行: 2个用空格隔开的整数:C和L

* 第2..C+1行: 第i+1行给出了适合第i头奶牛的SPF值的范围:minSPF_i以及 maxSPF_i * 第C+2..C+L+1行: 第i+C+1行为了第i瓶防晒霜的参数:SPF_i和cover_i,两个 数间用空格隔开。

Output

* 第1行: 输出1个整数,表示最多有多少头奶牛能享受到日光浴

Sample Input

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

输入说明:

一共有3头奶牛,2瓶防晒霜。3头奶牛适应的SPF值分别为3..10,2..5,以
及1..5。2瓶防晒霜的SPF值分别为6(可使用2次)和4(可使用1次)。可能的分
配方案为:奶牛1使用第1瓶防晒霜,奶牛2或奶牛3使用第2瓶防晒霜。显然,最
多只有2头奶牛的需求能被满足。

Sample Output

2
题目大意:有c只奶牛,有一个涂抹防晒霜的上限和下限。然后有l瓶放晒霜,每瓶能给w头奶牛涂。
奶牛晒日光浴的条件是涂的防晒霜在范围之内。求最多有多少头奶牛能晒日光浴。
题解:贪心
对于第i瓶放晒霜,找出所有涂抹它能满足条件的奶牛。先满足上限低的。
假设有两头奶牛,黑线表示区间,红圈表示防晒霜的spf。对于从左边数第一个红圈,两头奶牛都能满足。但是,要把这个 
防晒霜给上限低的也就是右端更小的第一头奶牛。这样分配,两头奶牛都能晒日光浴,否则只有第二头。
所以按spf从小到大枚举,将牛的右端点从小到大排序并枚举看看是否符合要求。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define maxn 2550
using namespace std;int c,l,ans;struct COW{int l,r;
}cow[maxn];
struct FSS{int spf,w;
}fss[maxn];bool cmp1(COW a,COW b){return a.r<b.r;}
bool cmp2(FSS a,FSS b){return a.spf<b.spf;}int main(){scanf("%d%d",&c,&l);for(int i=1;i<=c;i++)scanf("%d%d",&cow[i].l,&cow[i].r);for(int i=1;i<=l;i++)scanf("%d%d",&fss[i].spf,&fss[i].w);sort(cow+1,cow+c+1,cmp1);sort(fss+1,fss+l+1,cmp2);for(int i=1;i<=c;i++)for(int j=1;j<=l;j++)if(fss[j].w&&cow[i].l<=fss[j].spf&&fss[j].spf<=cow[i].r){ans++;fss[j].w--;break;}printf("%d\n",ans);return 0;
}

转载于:https://www.cnblogs.com/zzyh/p/7640977.html

BZOJ 1707 [Usaco2007 Nov]tanning分配防晒霜相关推荐

  1. bzoj 1707: [Usaco2007 Nov]tanning分配防晒霜

    Description 奶牛们计划着去海滩上享受日光浴.为了避免皮肤被阳光灼伤,所有C(1 <= C <= 2500)头奶牛必须在出门之前在身上抹防晒霜.第i头奶牛适合的最小和最 大的SP ...

  2. 1707: [Usaco2007 Nov]tanning分配防晒霜

    1707: [Usaco2007 Nov]tanning分配防晒霜 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 548  Solved: 262 [S ...

  3. 【BZOJ】1707: [Usaco2007 Nov]tanning分配防晒霜

    [算法]贪心扫描线(+堆) [题意]给定n头牛有区间[a,b],m个防晒霜值为ai,每个可以使用bi次,每次可以使包含它的区间涂到防晒霜,问最多被涂牛数. [题解] 参考:[bzoj1707]: [U ...

  4. BZOJ——T 1707: [Usaco2007 Nov]tanning分配防晒霜

    http://www.lydsy.com/JudgeOnline/problem.php?id=1707 Time Limit: 5 Sec  Memory Limit: 64 MB Submit:  ...

  5. 1707. [Usaco2007 Nov]tanning分配防晒霜

    传送门 一眼贪心,先把每头牛的忍受范围变成区间 对于每个防晒霜,肯定优先给,能给的,区间右端点最小的 因为右端点大的之后还有更多机会,然后搞一个 $set$ 什么的乱维护一下就行 改了半天原来是要开 ...

  6. bzoj1707[Usaco2007 Nov]tanning分配防晒霜*

    bzoj1707[Usaco2007 Nov]tanning分配防晒霜 题意: n头牛,第i头适应spf值在ai到bi之间的防晒霜.m种防晒霜,每种spf值为ci,有di瓶,问最多多少奶牛能得到合适的 ...

  7. BZOJ1707:[Usaco2007 Nov]tanning分配防晒霜

    我对贪心的理解:https://www.cnblogs.com/AKMer/p/9776293.html 题目传送门:https://www.lydsy.com/JudgeOnline/problem ...

  8. [Usaco2007 Nov]tanning分配防晒霜

    Description 奶牛们计划着去海滩上享受日光浴.为了避免皮肤被阳光灼伤,所有C(1<=C<=2500)C(1 头奶牛必须在出门之前在身上抹防晒霜.第i头奶牛适合的最小和最 大的SP ...

  9. BZOJ1707 : [Usaco2007 Nov]tanning分配防晒霜

    S向每头奶牛连边,容量1 每个防晒霜向T连边,容量cover 每头奶牛向SPF在自己范围内的防晒霜连边,容量inf 用线段树优化建图跑最大流即可. #include<cstdio> con ...

最新文章

  1. Showstopper [POJ3484] [二分] [思维]
  2. 全球股市巨震,如何用深度学习预测股价?
  3. Elasticsearch-04 ES中的术语和基本用法
  4. HDU 2833 WuKong
  5. Java文本框只有一行数据,Java只允许输入数目字的文本框
  6. overfitting(过度拟合)的概念
  7. 重新学习Spring一--Spring在web项目中的启动过程
  8. PowerSocket对象与HostName
  9. java删除csv一行_如何删除两个CSV之间的不常见行?
  10. 导入drf_Django后端rest最简洁最快最全入门指南,1天学会DRF后端不夸张,看这篇就够了!!...
  11. 【flink】flink Class not resolvable through given classloader ClassNotFoundException: FlinkKafkaConsum
  12. ASP.NET MVC + ADO.NET EF 项目实战(三):引入jQuery
  13. db PowerDesigner如何将消失的工具栏显示出来
  14. Python爬虫有哪些较好的书籍?
  15. 企业邮箱登录入口:企业邮箱oa管理系统
  16. 软件工程复习提纲——第六章
  17. linux下查看U盘文件
  18. c语言编程矩阵鞍点函数,c语言 任意输入一个3×3的矩阵,用函数实现求上三角矩阵并输出。...
  19. 我的世界服务器额外植物学bug修复,[1.12.2-1.7.10][AnotherCommonBugFix——通用Bug修复]——可修复服务器常见的BUG...
  20. 这款国产工具,让我电脑里的PS、XD都落灰了

热门文章

  1. 一文读懂有关Tree的前世今生
  2. TH-OCR文字识别SDK 12.X介绍
  3. SSDT—Hook和MDL
  4. php 电梯广告系统设计,电梯广告-市场营销- 人大经济论坛-经管百科
  5. sshfs真是爽啊!
  6. 操作系统 公交车司机与售票员进程协同活动问题 PV操作
  7. 5-2 人际资源整合-正确看待自己的领导-与领导日常互动-说服领导的技巧
  8. Logstash 2.2.0 的最佳实践
  9. Android 设置壁纸被拉伸(固定壁纸 )
  10. 使用idea和go mod 管理go项目代码飘红解决方法