题意

(依然来自洛谷)

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

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

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

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

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

分析

依然是一道贪心,依然是一道USACO的,依然是一道李煜东书上的,依然我是做不来的

对奶牛可承受的SPF(日光)最小值排序

对沐浴露(防晒霜?)最小值排序

证明过程略(哇,好懒)

Code

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#define ll long long
#define N 50005
using namespace std; int n,num;
struct COW {
int l, r, id,ans;
bool operator <(const COW x)
const {
return l < x.l;
}
}cow[N];
int ans[N];
priority_queue<pair<int, int> > s; int main()
{
//freopen("testdata.in", "r", stdin);
scanf("%d", &n);
for (int i = ; i <= n; i++)
{
cow[i].id = i;
scanf("%d%d", &cow[i].l, &cow[i].r);
}
sort(cow + , cow + + n);
for (int i = ; i <= n; i++)
{
int total = s.size();
if (total && -s.top().first < cow[i].l)
{
cow[i].ans = s.top().second;
s.pop();
s.push(make_pair(-cow[i].r, cow[i].ans));
continue;
}
cow[i].ans = ++num;
s.push(make_pair(-cow[i].r, num));
}
printf("%d\n",s.size());
for (int i = ; i <= n; i++) ans[cow[i].id] = cow[i].ans;
for (int i = ; i <= n; i++) printf("%d\n", ans[i]);
return ;
}

最新文章

  1. 中间件Study-了解什么是中间件
  2. 【第一课】WEBIX 入门自学-介绍WEBIX
  3. MYSQL数据库如何赋予远程某个IP访问权限
  4. Oracle11g的delayed failed logins特性引起的性能问题
  5. 无法在web服务器上启动调试。Microsoft Visual Studio 远程调试监视器(MSVSMON.EXE)似乎没有在远程计算机上运行,VS2012调试错误
  6. android模拟器(genymotion)+appium+python 框架执行基本原理(目前公司自己写的)
  7. 转 Web APi之认证(Authentication)两种实现方式【二】(十三)
  8. ADO.NET 对象 结构图
  9. ubuntu配置LAMP
  10. iOS开发之UIPickerView
  11. LeetCode-Triangle[dp]
  12. Oracle教程之学习笔记
  13. SPPNET
  14. linux入门--Linux和UNIX的关系及区别
  15. java基础(三):反射、反序列化破解单列模式和解决方式
  16. ajax中的一些参数的含义及用法
  17. PAT A1139 First Contact (30 分)——set
  18. 高性能Java RPC框架Dubbo与zookeeper的使用
  19. [zz]VC2005-应用程序正常初始化失败-0xc0150002
  20. [讲座] Parallel Processing of Graphs

热门文章

  1. Give root password for maintenance(or type control -D to continue)
  2. mysql如何添加一个表的外键
  3. 次小生成树(POJ1679/CDOJ1959)
  4. 【Android】修改Android 模拟器IMEI
  5. Python_os模块
  6. seafile数据的备份与恢复
  7. docker 安装配置
  8. String类型的转型
  9. 056 Java搭建kafka环境
  10. STL容器及泛型算法