bzoj 1707: [Usaco2007 Nov]tanning分配防晒霜
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 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
把防晒霜的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分配防晒霜相关推荐
- BZOJ 1707 [Usaco2007 Nov]tanning分配防晒霜
1707: [Usaco2007 Nov]tanning分配防晒霜 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 810 Solved: 387 [S ...
- 1707: [Usaco2007 Nov]tanning分配防晒霜
1707: [Usaco2007 Nov]tanning分配防晒霜 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 548 Solved: 262 [S ...
- 【BZOJ】1707: [Usaco2007 Nov]tanning分配防晒霜
[算法]贪心扫描线(+堆) [题意]给定n头牛有区间[a,b],m个防晒霜值为ai,每个可以使用bi次,每次可以使包含它的区间涂到防晒霜,问最多被涂牛数. [题解] 参考:[bzoj1707]: [U ...
- BZOJ——T 1707: [Usaco2007 Nov]tanning分配防晒霜
http://www.lydsy.com/JudgeOnline/problem.php?id=1707 Time Limit: 5 Sec Memory Limit: 64 MB Submit: ...
- 1707. [Usaco2007 Nov]tanning分配防晒霜
传送门 一眼贪心,先把每头牛的忍受范围变成区间 对于每个防晒霜,肯定优先给,能给的,区间右端点最小的 因为右端点大的之后还有更多机会,然后搞一个 $set$ 什么的乱维护一下就行 改了半天原来是要开 ...
- bzoj1707[Usaco2007 Nov]tanning分配防晒霜*
bzoj1707[Usaco2007 Nov]tanning分配防晒霜 题意: n头牛,第i头适应spf值在ai到bi之间的防晒霜.m种防晒霜,每种spf值为ci,有di瓶,问最多多少奶牛能得到合适的 ...
- BZOJ1707:[Usaco2007 Nov]tanning分配防晒霜
我对贪心的理解:https://www.cnblogs.com/AKMer/p/9776293.html 题目传送门:https://www.lydsy.com/JudgeOnline/problem ...
- [Usaco2007 Nov]tanning分配防晒霜
Description 奶牛们计划着去海滩上享受日光浴.为了避免皮肤被阳光灼伤,所有C(1<=C<=2500)C(1 头奶牛必须在出门之前在身上抹防晒霜.第i头奶牛适合的最小和最 大的SP ...
- BZOJ1707 : [Usaco2007 Nov]tanning分配防晒霜
S向每头奶牛连边,容量1 每个防晒霜向T连边,容量cover 每头奶牛向SPF在自己范围内的防晒霜连边,容量inf 用线段树优化建图跑最大流即可. #include<cstdio> con ...
最新文章
- 推荐几个(抖音/阿里/腾讯)年薪100W大佬的硬核公众号
- Spring 基于xml配置方式的AOP
- 采用TCPListener/TCPClient实现图片传输
- 自然语言处理NLP-100例 | 第二篇:在线课程评论情感分析-本科毕设实战案例
- 码农很多,但程序员并不多......
- MYSQL:子查询关键字 ANY/SOME/IN/ALL
- select case when if 的一些用法
- numpy的基本使用2
- 谈谈利用JavaScript结合相对单位rem实现自适应布局的简单而实用的方法
- android studio 抽屉,java - Android导航抽屉(由Android Studio默认提供) - 堆栈内存溢出...
- arm B和BL指令浅析
- 集成电路设计专业视频集(一)
- 收获,不止SQL优化——抓住SQL的本质--第三章
- ASP.NET简化编辑界面 V2
- 3500常用汉字与标点符号(已排除不支持GB2312的)
- spring注解原理
- 上海黑马python培训
- 聊聊泰国的工作和生活
- 计算机电源管理设置,如何修改计算机中设置的显卡电源管理模式
- AR红包大战,抢的不是钱而是发展机会
热门文章
- GitHub获取Personal Access Tokens
- 好丑Dynamo01_随心所欲的公路隧道模型(构件清单)
- python 数组排序最少交换次数_数组排序 使得交换次数最少
- 过程化开发2048智力游戏WebApp
- 软件过程--XP 与 RUP 的比较与分析
- MySQL subquery、dependent subquery、uncacheable subquery 是怎么执行的?
- admin后台管理及数据库表管理
- 项目成功经验分享:做好项目承诺管理
- 转:一个成功的领导者,要不断培养他人成为领导者
- python字符串转date_详解python 字符串和日期之间转换 StringAndDate