题目

此题有多种贪心方法。

首先简化题意:

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

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

进行贪心分析:

我们首先考虑区间,首先把最难满足的放在前面,可以把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. Spring-Boot之Admin服务监控-9

    一.Spring Boot Admin用于管理和监控一个或者多个Spring Boot程序.Spring Boot Admin分为Server端和Client 端,Client端可以通过向Http S ...

  2. .Net Core 图片上传FormData和Base64

    缓冲和流式传输是上传文件的两种常用方案,这里主要演示流式传输. 1.Net Core MVC Form提交方式: 前端页面 form表单提交: <form id="uploadForm ...

  3. 2019 UCloudjava面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.UCloud等公司offer,岗位是Java后端开发,因为发展原因最终选择去了UCloud,入职一年时间了,也 ...

  4. Java自学-控制流程 for

    Java的for循环 for循环,和while一样,只是表达方式不一样 示例 1 : for 比较for和while public class HelloWorld { public static v ...

  5. 记录axios在IOS上不能发送的问题

    最近 遇到 了axios在IOS上无法发送的问题,测试 了两个 苹果 机,IOS10上不能发送,IOS12可以,百度了下,找到了解决方法.记录下吧 首先引入qs,这个安装axios也已经有了吧:然后在 ...

  6. 编程风格统一配置EditorConfig

    EditorConfig 以纯原生无需任何插件支持 EditorConfig 代码风格配置的编辑器: Visual Studio 2017 开始添加了对 EditorConfig 的原生支持.Visu ...

  7. 前端动态效果小结(jQuery)

    1.easyUI(jQuery) http://www.jeasyui.net/demo/954.html

  8. Redis中如何发现并优化big key?

    Redis中的大key一直是重点需要优化的对象,big key既占用比较多的内存,也可能占用比较多的网卡资源,造成redis阻塞,因此我们需要找到这些big key进行优化 一.寻找big key 通 ...

  9. Eclipse上Maven环境配置使用

    1. 安装配置Maven: 1.1 从Apache网站 http://maven.apache.org/ 下载并且解压缩安装Apache Maven. Maven下载地址: http://maven. ...

  10. pandas之数据处理

    首先,数据加载 pandas提供了一些用于将表格型数据读取为DataFrame对象的函数,期中read_csv和read_table这两个使用最多. 1.删除重复元素 使用duplicated()函数 ...