题目

题目描述

To avoid unsightly burns while tanning, each of the C (1 ≤ C ≤ 2500) cows must cover her hide with sunscreen when they're at the beach. Cow i has a minimum and maximum SPF rating (1 ≤ minSPFi ≤ 1,000; minSPFi ≤ maxSPFi ≤ 1,000) that will work. If the SPF rating is too low, the cow suffers sunburn; if the SPF rating is too high, the cow doesn't tan at all........

The cows have a picnic basket with L (1 ≤ L ≤ 2500) bottles of sunscreen lotion, each bottle i with an SPF rating SPFi (1 ≤ SPFi ≤ 1,000). Lotion bottle i can cover coveri cows with lotion. A cow may lotion from only one bottle.

What is the maximum number of cows that can protect themselves while tanning given the available lotions?

有C个奶牛去晒太阳 (1 <=C <= 2500),每个奶牛各自能够忍受的阳光强度有一个最小值和一个最大值,太大就晒伤了,太小奶牛没感觉。

而刚开始的阳光的强度非常大,奶牛都承受不住,然后奶牛就得涂抹防晒霜,防晒霜的作用是让阳光照在身上的阳光强度固定为某个值。

那么为了不让奶牛烫伤,又不会没有效果。

给出了L种防晒霜。每种的数量和固定的阳光强度也给出来了

每个奶牛只能抹一瓶防晒霜,最后问能够享受晒太阳的奶牛有几个。

输入输出格式

输入格式:

* Line 1: Two space-separated integers: C and L

* Lines 2..C+1: Line i describes cow i's lotion requires with two integers: minSPFi and maxSPFi

* Lines C+2..C+L+1: Line i+C+1 describes a sunscreen lotion bottle i with space-separated integers: SPFi and coveri

输出格式:

A single line with an integer that is the maximum number of cows that can be protected while tanning

输入输出样例

输入样例#1: 复制
3 2
3 10
2 5
1 5
6 2
4 1

输出样例#1: 复制
2

分析

中文翻译有点误导,自己看清楚了,防晒霜是先读防晒指数,再读防晒霜的个数。奶牛按上限排序,而防晒霜直接按防晒值排序就可以了。

我对于这种排序方式的理解是:我们使得防晒值与奶牛上限越接近,意味着后面的防晒霜越难来满足这只奶牛,也就是这瓶防晒霜来满足这只奶牛是更优的。一瓶防晒霜最多只能满足一只奶牛,所以如果能满足,那么就用这瓶防晒霜。这就是这道题一个贪心的想法。

程序

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 const int MAXC = 2500 + 1;
 4 struct node
 5 {
 6     int Mn, Mx;
 7 }cows[MAXC];
 8 struct sunscreen
 9 {
10     int amt, cov;
11 }ss[MAXC];
12 bool comp1(node x, node y)
13 {
14     return x.Mx < y.Mx;
15 }
16 bool comp2(sunscreen x, sunscreen y)
17 {
18     return x.cov < y.cov;
19 }
20 int main()
21 {
22     int c,l,ans;
23     cin >> c >> l;
24     for (int i = 1; i <= c; i++)
25         cin >> cows[i].Mn >> cows[i].Mx;
26     for (int i = 1; i <= l; i++)
27         cin >> ss[i].cov >> ss[i].amt;
28     sort(cows+1, cows+(c+1),comp1);
29     sort(ss+1, ss+(l+1), comp2);
30     for (int i = 1; i <= c; i++)
31     {
32         for (int j = 1; j <= l; j++)
33             if(ss[j].cov >= cows[i].Mn && ss[j].cov <= cows[i].Mx && ss[j].amt)
34             {
35                 ss[j].amt--;
36                 ans++;
37                 break;
38             }
39     }
40     cout << ans << endl;
41     return 0;
42 }

转载于:https://www.cnblogs.com/OIerPrime/p/8504387.html

USACO 2007 NOV Sunscreen 防晒霜 贪心相关推荐

  1. 【POJ3612】【USACO 2007 Nov Gold】 1.Telephone Wire 动规

    题意: 给出若干棵树的高度,你可以进行一种操作:把某棵树增高h,花费为h*h. 操作完成后连线,两棵树间花费为高度差*定值c. 求两种花费加和最小值. 题解: 跟NOIP2014 D1T3很像. 暴力 ...

  2. POJ3614 Sunscreen【贪心】

    Sunscreen Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10348   Accepted: 3618 Descri ...

  3. poj 3614 Sunscreen(优先队列+贪心)

    Description To avoid unsightly burns while tanning, each of the C (1 ≤ C ≤ 2500) cows must cover her ...

  4. [USACO 2007 Jan S]Protecting the Flowers

    题目: [USACO 2007 Jan S]Protecting the Flowers ,哈哈,我们今天来看一道简单的贪心算法题嘛,这是选自USACO上的一道题,好了,我们一起来看看题意吧: 题目描 ...

  5. [USACO 07NOV]防晒霜Sunscreen {贪心}

    题目 https://www.luogu.org/problemnew/show/P2887 http://poj.org/problem?id=3614 解题思路 按照minSPFminSPFmin ...

  6. IOI 2007 Sail (线段树+贪心)

    题意: 有一艘船,船上有 \(n\) 个旗杆,每个旗杆上有 \(h_i\) 个小节.每根旗杆上会挂 \(k_i\) 张帆 每个小节最多挂一个帆.在风中,帆的不同排布方式会产生不同的推动力 对于任意一张 ...

  7. [APIO/CTSC 2007]数据备份(贪心+堆)

    你在一家 IT 公司为大型写字楼或办公楼(offices)的计算机数据做备份.然而数据备份的工作是枯燥乏味的,因此你想设计一个系统让不同的办公楼彼此之间互相备份,而你则坐在家中尽享计算机游戏的乐趣. ...

  8. 【POJ 3614 Sunscreen】贪心 优先级队列

    题目链接:http://poj.org/problem?id=3614 题意:C头牛去晒太阳,每头牛有自己所限定的spf安全范围[min, max]:有L瓶防晒液,每瓶有自己的spf值和容量(能供几头 ...

  9. USACO 2011 Nov. [Bronze] P4. Cow Beauty Pageant

    原题地址:http://www.usaco.org/index.php?page=viewproblem2&cpid=87 题目描述 Hearing that the latest fashi ...

最新文章

  1. JSONP--解决ajax跨域问题
  2. mysql错误日志/var/log/mariadb/mariadb.log,二进制日志
  3. c++调用python返回字典
  4. mysql 字符串 空格函数_mysql中的去除空格函数
  5. IntersectionObserve初试
  6. keytool 错误: java.io.IOException: Keystore was tampered with, or password was incorrect
  7. python grpc入门
  8. 生活在REPL中(续):在REPL中动态加载依赖的库
  9. STORM启动与部署TOPOLOGY
  10. Nginx+tomcat整合
  11. Fiddler 4 模拟 服务端返回 json
  12. 机器人matlab仿真步骤,MATLAB机器人仿真程序.doc
  13. 1.基于物品的协同过滤推荐算法理解
  14. python中5个json库的速度对比 1
  15. 使用AIL(Android Init Language)解释servicemanager.rc语句作用
  16. bs4爬取笔趣阁小说
  17. vue-cli使用element-ui分页组件
  18. macos 切换账户_如何在macOS上设置访客用户帐户
  19. 最强GPU助力,Imagination踏上新征途
  20. 抖音的配音段子在哪里搜到,抖音上录段子的配音都在哪里能找到

热门文章

  1. 微信公众号开通步骤详解
  2. iPhone 4 实现 HTC Sense 时钟动画天气
  3. C2科一考试记分规则整理
  4. 1.1 信息系统与信息化
  5. 【论文精度】Subdivision-Based Mesh Convolution Networks
  6. 数学建模-第9-13章:统计学方法建模汇总
  7. 基于浏览器的交互式Go学习平台 | Gopher Daily (2020.11.14) ʕ◔ϖ◔ʔ
  8. Linux下Docker及Docker-compose的安装及项目部署实战
  9. python小游戏大合集(有注释,持续更新)
  10. 严重 [http-nio-8080-exec-1] org.apache.catalina.core.ApplicationDispatcher.invoke Servlet[jsp]的Servlet