题目

此题有多种贪心方法。

首先简化题意:

有几个在数轴上的区间,和几个在数轴上确定的位置的点,问用这些数目的点,最多能满足多少个区间里有点。

注意:此题跟区间选点问题不一样,每个点只能满足一个区间,而区间选点则可以满足多个区间。

进行贪心分析:

我们首先考虑区间,首先把最难满足的放在前面,可以把l从大到小排序,也可以把r从小到大排序。

再次注意:此时满足的困难程度并不是取决于所有点,而是根据一个点来确定区间的难易。

因为对于一个点,如果l小的区间不满足,l比它大的区间肯定不会满足,所以l大的比较困难,如果不让他先选,很有可能靠右的点被一个l小的区间给占了,r同理。

将当前问题中难解决的环节先解决往往是正确的贪心策略。

然后考虑如何选择点呢。点的选择需要根据区间的排序方式选择。

比如l是从大到小排序的,那越往后区间的l越左。所以越左边的点越需要放在后面和放在后面的区间匹配,因此点也是从大到小排序。

#include <bits/stdc++.h>
using namespace std;
int c, l, ans;
struct ha {
int r, l;
}data[100010];
struct shuang {
int zhi, tot;
}a[100100];
bool cmp1(ha x, ha y)
{
return x.l > y.l;
}
bool cmp2(shuang x, shuang y)
{
return x.zhi > y.zhi;
}
signed main()
{
scanf("%d%d", &c, &l);
for (int i = 1; i <= c; i++)
scanf("%d%d", &data[i].l, &data[i].r);
for (int i = 1; i <= l; i++)
scanf("%d%d", &a[i].zhi, &a[i].tot);
sort(a + 1, a + 1 + l, cmp2);
sort(data + 1, data + 1 + c, cmp1);
for (int i = 1; i <= c; i++)
for (int j = 1; j <= l; j++)
if (a[j].zhi >= data[i].l && a[j].zhi <= data[i].r && a[j].tot)
{
a[j].tot--, ans++;
break;
}
printf("%d", ans);
}

洛谷P2877 [USACO07NOV]防晒霜Sunscreen的更多相关文章

  1. 洛谷 P2887 [USACO07NOV]防晒霜Sunscreen 解题报告

    P2887 [USACO07NOV]防晒霜Sunscreen 题目描述 To avoid unsightly burns while tanning, each of the C (1 ≤ C ≤ 2 ...

  2. 题解 洛谷 P2287 [USACO07NOV]Sunscreen G

    原题 传送门 有C个奶牛去晒太阳 (1 <=C <= 2500),每个奶牛各自能够忍受的阳光强度有一个最小值和一个最大值(minSPFi and maxSPFi),太大就晒伤了,太小奶牛没 ...

  3. POJ3614 [USACO07NOV]防晒霜Sunscreen

    Sunscreen Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9333   Accepted: 3264 Descrip ...

  4. 洛谷P2886 [USACO07NOV]牛继电器Cow Relays

    题意很简单,给一张图,把基本的求起点到终点最短路改成求经过k条边的最短路. 求最短路常用的算法是dijkstra,SPFA,还有floyd. 考虑floyd的过程: c[i][j]=min(c[i][ ...

  5. 洛谷 P2888 [USACO07NOV]牛栏Cow Hurdles

    题目戳 题目描述 Farmer John wants the cows to prepare for the county jumping competition, so Bessie and the ...

  6. 洛谷P2888 [USACO07NOV]牛栏Cow Hurdles

    题目描述 Farmer John wants the cows to prepare for the county jumping competition, so Bessie and the gan ...

  7. 洛谷 P2886 [USACO07NOV]牛继电器Cow Relays

    题面 解题思路 ## floyd+矩阵快速幂,跟GhostCai爷打赌用不用离散化,最后完败..GhostCai真是tql ! 有个巧妙的方法就是将节点重新编号,因为与节点无关. 代码 #includ ...

  8. 洛谷P2886 [USACO07NOV]Cow Relays G (矩阵乘法与路径问题)

    本题就是求两点间只经过n条边的最短路径,定义广义的矩阵乘法,就是把普通的矩阵乘法从求和改成了取最小值,把内部相乘改成了相加. 代码包含三个内容:广义矩阵乘法,矩阵快速幂,离散化: 1 #include ...

  9. 洛谷1640 bzoj1854游戏 匈牙利就是又短又快

    bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...

随机推荐

  1. Bootstrap 遮罩插件jquery.mloading

    使用方法 将jquery.mloading.js和jquery.mloading.css引入到页面,调用: $(element).mLoading({ text:"",//加载文字 ...

  2. 使用JDK的zip编写打包工具类

    JDK自带的zip AIP在java.util.zip包下面,主要有以下几个类: java.util.zip.ZipEntryjava.util.zip.ZipInputStreamjava.util ...

  3. Deployment.spec.selector.matchLables实验解释

    原文:https://cloud.tencent.com/developer/article/1394657 Deployment.spec.selector.matchLables实验解释 作者: ...

  4. git安装用法和常用命令

    目录 git 下载 安装 git 工作中常用命令 Git常用命令汇总以及其它相关操作 或者 常出错误: 常用修改: 题外话(相关概念) git 下载 安装 1.下载Git,官网地址:https://g ...

  5. 文件包含漏洞File Inclusion

    文件包含漏洞 目录遍历漏洞在国内外有许多不同的叫法,也可以叫做信息泄露漏洞.非授权文件包含漏洞等. 文件包含分类 LFI:本地文件包含(Local File Inclusion) RFI:远程文件包含 ...

  6. k8s--yml文件2

  7. 小米8seroot后更改hosts文件记录

    1.先备份原有文件,在设置中有个备份与恢复,可以备份,备份后链接电脑,传电脑上 2.下载开发版miui,安装 3.解bl锁,先到官网申请,按照提示操作. 4.备份文件传到手机,恢复文件 5.获得roo ...

  8. bug集锦------持续但不定期 更新

    对于个人而言:这个错误集锦是很有必要的. 为了避免误导他人,其中个人想法:用 紫色加粗 标注. 1.springboot端口冲突: Protocol handler start failed2.spr ...

  9. ireport(1.2.7)的IllegalAccessError异常

    IllegalAccessError异常: Exception in thread "main" java.lang.IllegalAccessError: tried to ac ...

  10. 串口通信编程向导 Serial Programming Guide for POSIX Operating Systems

    https://www.cmrr.umn.edu/~strupp/serial.html#CONTENTS Introduction Chapter 1, Basics of Serial Commu ...