题意:数轴上有n个点,m条线段,选出尽量多的线段,使每条线段都能独立地占有至少一个点(不可公用同一个点)。

线段覆盖问题,按右端点升序,右端点相同时左端点降序排序,画图可以看出前边的线段应该尽量用前边的点,把点排序,依此对每条线段二分查找可以用的点。

(考场上开始没想清楚,用左端点做了第一关键字,后来好好画图很容易看出来应该用右端点做第一关键字)

比较典型的一道题。

#include<bits/stdc++.h>
using namespace std;typedef long long LL ;#define rep(i,n) for(int i=1;i<=n;i++)
#define pb push_back
#define st first
#define nd second
#define mp make_pair
#define pii pair<int ,int >const int N = 2e4+7;
const int MX = 1e9+7;int t[N],n,m,tag[N];pii a[N];int cmp(pii a,pii b){if(a.nd!=b.nd)return a.nd<b.nd;return a.st>b.st;
}int find(int x){int l=1,r=n,ans=n+1;while(l<=r){int mid=(l+r)/2;if(t[mid]>=x){ans=mid;r=mid-1;}else l=mid+1;}return ans;
}int main(){scanf("%d%d",&n,&m);rep(i,n)scanf("%d",&t[i]);rep(i,m)scanf("%d%d",&a[i].st,&a[i].nd);sort(t+1,t+1+n);sort(a+1,a+1+m,cmp);int ans=0;rep(i,m){int x=find(a[i].st);while(tag[x]&&x<=n)x++;if(x==n+1)continue;if(a[i].nd>=t[x]){ans++;tag[x]=1;}}cout<<ans;
} 

转载于:https://www.cnblogs.com/xutianshu/p/10459497.html

[EOJ]2019 ECNU XCPC March Selection #1 F相关推荐

  1. [EOJ]2019 ECNU XCPC March Selection #4

    solved 4 rank 2 A(树) 题意:给出一棵树,有m条路径已经被染色,重复染色算作多次,选出一条最长的路径 (p,q),满足 p 为 q 的祖先,且 (p,q) 被至少 k 条染色路径完全 ...

  2. 百练 / 2019计算机学科夏令营上机考试 F:跳蛙

    百练 / 2019计算机学科夏令营上机考试 F:跳蛙 # 百练 / 2019计算机学科夏令营上机考试 F:跳蛙 # http://bailian.openjudge.cn/xly2019/F/ # A ...

  3. EOJ Monthly 2019.3 (based on March Selection) -D .宇恒棋

    D.宇恒棋 EOJ传送门 Q小方以前不会下宇恒棋,现在他会了,所以他急切的想教会你. 宇恒棋的规则是这样的:在一个 n×m 的棋盘上,QQ小方和你各有一枚棋子.你们轮流行动,每一次轮到一方的回合时,他 ...

  4. EOJ Monthly 2020.11 Sponsored by TuSimple F题“天桥”题解

    原题地址 大致题意:给你n个块(n为偶数),要对这n个块进行上色,有k种颜色可以选取,上的颜色需要两两配对并且不能交叉.若第x与y同色,u与v同色,当且仅当x<u<y<v时被认为是交 ...

  5. 2019年安徽省程序设计大赛(F.邻家割草)

    F.邻家割草 时间限制:3s 描述: 邻居 Alice 家 有一块大草坪, 每个一段时间他都要用割草机修剪草坪: 可以把草坪看成是一个 N * M 的矩阵, 割草时需要 N 台割草机水平方向穿过草地, ...

  6. 2019 ECNU Campus Invitational Contest

    A.签到,模拟即可 #include <bits/stdc++.h> using namespace std; int main() {int x,y;char str[100];scan ...

  7. 2021/1/12 2019全国大学生电子设计大赛 - F题纸张计数 (纯模电设计方案 全国一等奖)

    写在开头 研究生考试结束了,也算是闲下来了,打算把以前没有写.没有整理的一些东西重新整理一下,恰好翻到了这个资料,重温一下旧梦. F题纸张计数 (测电容) 1.1 题目 具体的题目文件我会发在附录里面 ...

  8. EOJ Contest61 2018研究生面试机考(软件工程)个人题解

    本人ECNU大一学渣一枚.闲来无事做了EOJ Contest61(EOJ 2018研究生面试机考(软件工程)),发现全是水题,正好练一下刚开始学的C++.然后闲来无事就发个来自菜鸡的题解. A.西班牙 ...

  9. 2019年第十届蓝桥杯 C / C ++省赛 B 组真题题解

    A: 组队 输入数据 编号 号位1 2 3 4 51 97 90 0 0 0 2 92 85 96 0 0 3 0 0 0 0 93 4 0 0 0 80 86 5 89 83 97 0 0 6 82 ...

最新文章

  1. 1小时学会:最简单的iOS直播推流(番外)运行不起AWLive的demo的同学请看这里
  2. R语言数值向上近似函数(round, ceiling, floor, trunc, signif)实战
  3. Linux之设置http代理
  4. 开发日记-20190613 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》
  5. sql多变量 双引号设置
  6. Ubuntu软件的安装和使用
  7. GitHub Alibaba Group 下 Star 最多的开源项目是?
  8. debian上安装docker ce
  9. python僵尸进程和孤儿进程_python中多进程应用及僵尸进程、孤儿进程
  10. PHP数组数据结构图,PHP数组与数据结构
  11. 廖雪峰python教程-廖雪峰Python教程的配套视频教程,全套完整版!
  12. 代理猎手(Proxy Hunter)使用详细教程
  13. duilib入门教程
  14. zscore标准化步骤_几种常用数据标准化方法
  15. 日本性价比旅馆分析报告
  16. scratch和平使者 电子学会图形化编程scratch等级考试一级真题和答案解析2022年12月
  17. 读书有益——》祝你今天愉快
  18. php 解析pathinfo 类
  19. 宝尚网上股票缩量商场拉大盘股高潮
  20. c#中正则表达式屏蔽一些特殊字符

热门文章

  1. tp3.2 php sdk上传七牛云
  2. SPOJ D-query(莫队算法模板)
  3. [BZOJ2879] [Noi2012] 美食节 (费用流 动态加边)
  4. Win7下DB2 Express-C 9.7.2的卸载与安装(上)
  5. 口琴膜片什么作用_新手怎么学口琴?
  6. 数学连乘和累加运算符号_数学符号归纳
  7. html页面关闭执行函数,html页面调用js文件里的函数报错--方法名 is not defined处理方法...
  8. Redis之高级特性
  9. Flume Sink
  10. spark基础之spark sql运行原理和架构