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
贪心。
把防晒霜的SPF值从小到大排序。找可以使用当前防晒霜的 maxSPF最小的奶牛即可。
#include<cstdio>
#include<algorithm>
using namespace std;
struct cow
{int mi,ma;
}a[2501];
struct spf
{int f,s;bool operator< (spf x) const{return f<x.f;}
}sp[2501];
bool v[50001];
int main()
{int c,l;scanf("%d%d",&c,&l);int i,j;for(i=1;i<=c;i++)scanf("%d%d",&a[i].mi,&a[i].ma);for(i=1;i<=l;i++)scanf("%d%d",&sp[i].f,&sp[i].s);sort(sp+1,sp+1+l);int ans=0;int tt,tm;for(i=1;i<=l;i++){while(sp[i].s!=0){tm=1001;tt=0;for(j=1;j<=c;j++){if(!v[j]&&a[j].mi<=sp[i].f&&a[j].ma>=sp[i].f&&a[j].ma<tm){tt=j;tm=a[j].ma;}}if(tt==0)break;sp[i].s--;v[tt]=true;ans++;}}printf("%d\n",ans);return 0;
}

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

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

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

  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. 推荐几个(抖音/阿里/腾讯)年薪100W大佬的硬核公众号
  2. Spring 基于xml配置方式的AOP
  3. 采用TCPListener/TCPClient实现图片传输
  4. 自然语言处理NLP-100例 | 第二篇:在线课程评论情感分析-本科毕设实战案例
  5. 码农很多,但程序员并不多......
  6. MYSQL:子查询关键字 ANY/SOME/IN/ALL
  7. select case when if 的一些用法
  8. numpy的基本使用2
  9. 谈谈利用JavaScript结合相对单位rem实现自适应布局的简单而实用的方法
  10. android studio 抽屉,java - Android导航抽屉(由Android Studio默认提供) - 堆栈内存溢出...
  11. arm B和BL指令浅析
  12. 集成电路设计专业视频集(一)
  13. 收获,不止SQL优化——抓住SQL的本质--第三章
  14. ASP.NET简化编辑界面 V2
  15. 3500常用汉字与标点符号(已排除不支持GB2312的)
  16. spring注解原理
  17. 上海黑马python培训
  18. 聊聊泰国的工作和生活
  19. 计算机电源管理设置,如何修改计算机中设置的显卡电源管理模式
  20. AR红包大战,抢的不是钱而是发展机会

热门文章

  1. GitHub获取Personal Access Tokens
  2. 好丑Dynamo01_随心所欲的公路隧道模型(构件清单)
  3. python 数组排序最少交换次数_数组排序 使得交换次数最少
  4. 过程化开发2048智力游戏WebApp
  5. 软件过程--XP 与 RUP 的比较与分析
  6. MySQL subquery、dependent subquery、uncacheable subquery 是怎么执行的?
  7. admin后台管理及数据库表管理
  8. 项目成功经验分享:做好项目承诺管理
  9. 转:一个成功的领导者,要不断培养他人成为领导者
  10. python字符串转date_详解python 字符串和日期之间转换 StringAndDate