正题


题目大意

nnn个区间mmm个点,一个区间只能匹配一个点,求最大匹配数。


解题思路

我们可以先将点排序,和区间按照左端点排序。然后从左往右枚举点,遇到一个区间的左端点就加入这样我们就可以忽略区间的左端点了,然后遇到右端点就弹出该区间。

然后我们就每次都选出了可以匹配的区间,然后在可以匹配的区间中我们选择右端点最靠左的区间匹配。

为什么这是最优的,因为在左边的已经不用管了,所以在一堆右端点中肯定是更左的是更优的


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
const int N=200100;
struct node{int l,r;
}a[N];
int n,m,t[N],ans;
priority_queue<int> q;
bool cmp(node x,node y)
{return x.l==y.l?x.r<y.r:x.l<y.l;}
int main()
{//freopen("dream.in","r",stdin);//freopen("dream.out","w",stdout);scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)scanf("%d%d",&a[i].l,&a[i].r);for(int i=1;i<=m;i++)scanf("%d",&t[i]);sort(t+1,t+1+m);sort(a+1,a+1+n,cmp);int tail=1;for(int i=1;i<=m;i++){while(tail<=n&&a[tail].l<=t[i])q.push(-a[tail++].r);while(!q.empty()&&-q.top()<t[i]) q.pop();if(!q.empty())ans++,q.pop();}printf("%d",ans);
}

jzoj6274-[NOIP提高组模拟1]梦境【贪心,堆】相关推荐

  1. 第一届『Citric杯』NOIP提高组模拟赛 题解

    [官方题解]第一届『Citric杯』NOIP提高组模拟赛 题解 第一题 柠檬超市 这题是本次模拟赛的送分题.做法显然. 但是注意此题有一个陷阱: 注意W和C的规模都是10^9,所以如果直接用doubl ...

  2. JZOJ 5281. 【NOIP提高组模拟A组8.15】钦点

    Description Input Output Sample Input 4 4 2 a a b b a a b b c c d d c c d d 1 1 3 3 2 2 3 1 1 3 2 2 ...

  3. 【洛谷】NOIP提高组模拟赛Day2【动态开节点/树状数组】【双头链表模拟】

    U41571 Agent2 题目背景 炎炎夏日还没有过去,Agent们没有一个想出去外面搞事情的.每当ENLIGHTENED总部组织活动时,人人都说有空,结果到了活动日,却一个接着一个咕咕咕了.只有不 ...

  4. JZOJ 5850. 【NOIP提高组模拟2018.8.25】e

    Description Input Output Sample Input 5 7 0 1 2 3 4 5 1 2 2 3 2 4 1 5 1 2 4 5 2 2 4 5 3 2 4 5 4 2 4 ...

  5. JZOJ5857 【NOIP提高组模拟A组2018.9.8】没有上司的舞会

    题目 Description "那么真的有果尔德施坦因这样一个人?"他问道. "是啊,有这样一个人,他还活着.至于在哪里,我就不知道了." "那么那个 ...

  6. jzoj 5850.【NOIP提高组模拟2018.8.25】e 可持久化线段树+lca

    Description Input Output Data Constraint 分析: 最小连通块可以看作是所有点到他们的 lca l c a lca路径的并集,因为是取最小值,所以重复的不会有贡献 ...

  7. 第二届『Citric杯』NOIP提高组模拟赛

    一道防AK的好题 不得不吐槽这个题目背景和算法.这就是一脑筋急转弯啊. Code program hard; CONST FileName='hard'; var n,i,tot:longint;x, ...

  8. 2020.08.08【NOIP提高组】模拟:奶牛的图片 总结

    2020.08.08[NOIP提高组]模拟:奶牛的图片 总结 Description Farmer John希望给他的 N ( 1 ≤ N ≤ 100 , 000 ) N(1\leq N\leq100 ...

  9. 2018.12.08【NOIP提高组】模拟B组总结(未完成)

    2018.12.08[NOIP提高组]模拟B组总结 diyiti 保留道路 进化序列 B diyiti Description 给定n 根直的木棍,要从中选出6 根木棍,满足:能用这6 根木棍拼出一个 ...

最新文章

  1. NetCore学习实践1__项目创建和配置文件的获取
  2. mac vscode 配置golang
  3. android代码说明文档,android:label说明
  4. C++字符串详解(二)访问与拼接
  5. 当我真正开始爱自己——查理·卓别林
  6. 消息队列NetMQ 原理分析2-IO线程和完成端口
  7. 使用AxiosJavaScript中的简单HTTP请求
  8. 网页制作小技巧:dl dt dd标签用法
  9. 用python画雪花飘落_简单说 JavaScript实现雪花飘落效果
  10. 诗与远方:无题(八十三)- 雪国冷天,心死随魂
  11. java 对文件名非法字符处理
  12. 清新脱俗的Java选课系统
  13. 传输层协议(9):滑动窗口(3)——会呼吸的痛
  14. java t输出_java --输入输出
  15. 鼠标自动移动 防止锁屏睡眠
  16. 为了物尽其用报废的涉密计算机的硬盘,检测不到硬盘不能轻易将其定为报废
  17. android locat
  18. Activiti7笔记(二)Activiti7一共涉及到25张表,哪些操作会涉及哪些表,每张表的作用是什么
  19. nginx(项目部署)linux版
  20. 对tuscany中domain、cloud、node、composite关系的理解

热门文章

  1. java spark读写hdfs_Spark读取HDFS数据输出到不同的文件
  2. websocket文档_WebSocket推送 原理扫盲到上手实践
  3. 算法设计与分析——算法思想总结
  4. 81. 搜索旋转排序数组 II(014)二分查找+思路+详解+二种做法
  5. [C++11]使用using和typedef给模板定义别名
  6. C++map容器-大小和互换
  7. Most Unstable Array CodeForces - 1353A(数学+贪心+建设性算法)
  8. Hystrix能解决的问题
  9. Java基础知识——Java集合详解
  10. Educational Codeforces Round 76 (Rated for Div. 2) F. Make Them Similar 折半搜索