P2887 [USACO07NOV]Sunscreen G
将奶牛按照能忍受的阳光强度最大值从小到大排序。对于当前这头奶牛,选取它能抹的最小防晒霜。因为越大的防晒霜后面的奶牛越可能利用,并且抹显然不劣于不抹。
时间复杂度 \(O\left(C\log C+L\log L+CL\right)\)。
code:
#include<bits/stdc++.h>
using namespace std;
#define N 2505
#define For(i,x,y)for(i=x;i<=(y);i++)
struct sunshine
{
int mn,mx;
}a[N];
struct suncreen
{
int high,num;
}b[N];
inline bool cmp1(sunshine _,sunshine __)
{
return _.mx<__.mx;
}
inline bool cmp2(suncreen _,suncreen __)
{
return _.high<__.high;
}
int main()
{
int c,l,i,j,ans=0;
scanf("%d%d",&c,&l);
For(i,1,c)scanf("%d%d",&a[i].mn,&a[i].mx);
For(i,1,l)scanf("%d%d",&b[i].high,&b[i].num);
sort(a+1,a+c+1,cmp1);
sort(b+1,b+l+1,cmp2);
For(i,1,c)
{
For(j,1,l)
if(b[j].high>=a[i].mn&&b[j].high<=a[i].mx&&b[j].num)
{
b[j].num--;
ans++;
break;
}
}
printf("%d",ans);
return 0;
}
P2887 [USACO07NOV]Sunscreen G的更多相关文章
- 题解 洛谷 P2287 [USACO07NOV]Sunscreen G
原题 传送门 有C个奶牛去晒太阳 (1 <=C <= 2500),每个奶牛各自能够忍受的阳光强度有一个最小值和一个最大值(minSPFi and maxSPFi),太大就晒伤了,太小奶牛没 ...
- 【题解】[USACO07NOV]Sunscreen G
\(Link\) \(\text{Solution:}\) 把奶牛的忍耐度转化为线段,则题目转化为选择一些点使得覆盖的线段尽可能多.一个点只能覆盖一条线段. 考虑将点按照位置排序,线段按照右端点排序. ...
- 洛谷 P2887 [USACO07NOV]防晒霜Sunscreen 解题报告
P2887 [USACO07NOV]防晒霜Sunscreen 题目描述 To avoid unsightly burns while tanning, each of the C (1 ≤ C ≤ 2 ...
- 洛谷 - P2887 - 防晒霜Sunscreen - 贪心
https://www.luogu.org/problemnew/show/P2887 感觉可以: 把防晒霜拆点限制流量为瓶数,奶牛拆点限制流量为1,当某个防晒霜与奶牛匹配时连一条边,求最大流.但是这 ...
- Storyboards Tutorial 03
这一节主要介绍segues,static table view cells 和 Add Player screen 以及 a game picker screen. Introducing Segue ...
- 文件图标SVG
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink ...
- 2021.11.03 P2886 [USACO07NOV]Cow Relays G(矩阵+floyed)
2021.11.03 P2886 [USACO07NOV]Cow Relays G(矩阵+floyed) [P2886 USACO07NOV]Cow Relays G - 洛谷 | 计算机科学教育新生 ...
- NC25025 [USACO 2007 Nov G]Sunscreen
NC25025 [USACO 2007 Nov G]Sunscreen 题目 题目描述 To avoid unsightly burns while tanning, each of the \(C\ ...
- POJ3614 [USACO07NOV]防晒霜Sunscreen
Sunscreen Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9333 Accepted: 3264 Descrip ...
随机推荐
- B. Rock and Lever 解析(思維)
Codeforce 1420 B. Rock and Lever 解析(思維) 今天我們來看看CF1420B 題目連結 題目 給一個數列\(a\),求有多少種\((i,j)\)使得\(i<j\) ...
- ui 自动化的测试用例从哪来
从手工测试当中选取,尽量选择 1.简单且需要反复回归 2.稳定且不会经常变化 3.优先覆盖核心功能
- 从原生web组件到框架组件源码(一)
温馨提醒,当你觉得看我写的很乱的时候,就对了,那是因为我查阅了大量的资料提取出来的,因为有点东西不太理解,所以你会感觉有的部分重复了,也不是重复,只是后面对前面的内容进行梳理了一些,需要耐心的看到最后 ...
- 彻底搞明白this
this是我们在书写代码时最常用的关键词之一,即使如此,它也是JavaScript最容易被最头疼的关键词.那么this到底是什么呢? 如果你了解执行上下文,那么你就会知道,其实this是执行上下文对象 ...
- 设计Twitter 时间线
「design Twitter」是 LeetCode 上第 335 道题目,不仅题目本身很有意思,而且把合并多个有序链表的算法和面向对象设计(OO design)结合起来了,很有实际意义,本文就带大家 ...
- P2346 四子连棋
P2346 四子连棋 迭代加深++ 题意描述 在一个4*4的棋盘上摆放了14颗棋子,其中有7颗白色棋子,7颗黑色棋子,有两个空白地带,任何一颗黑白棋子都可以向上下左右四个方向移动到相邻的空格,这叫行棋 ...
- 动态规划——用二进制表示集合的状态压缩DP
动态规划当中有非常常见的一个分支--状态压缩动态规划,很多人对于状态压缩畏惧如虎,但其实并没有那么难,希望这文章能带你们学到这个经典的应用. 二进制表示状态 在讲解多重背包问题的时候,我们曾经讲过二进 ...
- 6、Django之模型层第一篇:单表操作
一 ORM简介 我们在使用Django框架开发web应用的过程中,不可避免地会涉及到数据的管理操作(如增.删.改.查),而一旦谈到数据的管理操作,就需要用到数据库管理软件,例如mysql.oracle ...
- JavaScript的原型对象prototype、原型属性__proto__、原型链和constructor
先画上一个关系图: 1. 什么是prototype.__proto__.constructor? var arr = new Array; 1. __proto__是原型属性,对象特有的属性,是对象指 ...
- 双重河内塔I
双重河内塔问题 又称:双重汉诺塔问题 这是<具体数学:计算机科学基础(第2版)>中的一道课后习题 这道题也是挺有意义的,我打算写三篇随笔来讲这个问题 双重河内塔包含 2n 个圆盘,它们有 ...