题目描述
现在各大oj上有n个比赛,每个比赛的开始、结束的时间点是知道的。

yyy认为,参加越多的比赛,noip就能考的越好(假的)

所以,他想知道他最多能参加几个比赛。

由于yyy是蒟蒻,如果要参加一个比赛必须善始善终,而且不能同时参加2个及以上的比赛。

输入格式
第一行是一个整数n ,接下来n行每行是2个整数ai,bi(ai<bi),表示比赛开始、结束的时间。

输出格式
一个整数最多参加的比赛数目。

输入
3
0 2
2 4
1 3
输出
2
说明/提示
对于20%的数据,n≤10;
对于50%的数据,n≤1000;
对于70%的数据,n≤100000;
对于100%的数据,n≤1000000,0≤ai<bi≤1000000。

不会。佳哥紫薯上有的。可以转化为选择不相交区间。

  • 如果一个区间完全包含在另一个区间内,那我们肯定要选小区间。原因是持续时间短啊。
  • 我们要按b排序。那为啥不按a排序呢?我们都想比赛结束的时间小一点,这样我们能有更多时间去打别的比赛。此外,这样能让小区间在前面。(两个完全包含区间)
  • 此外我们一定要选第一个区间(已排序)。
  • 第一:如果第一个区间完全包含在第二区间内,肯定选第一区间,且与第一区间矛盾的区间全部pass掉
  • 第二:如果第一第二区间不包含,选第一区间
  • 第三:第一第二区间不完全包含,

    我们选第一区间,发现红色部分对于后面区间是无用的,有用的是橙色区间。神奇的是橙色区间在第二区间内,由第一条性质可见选第一区间不亏。
    如果我们选第二区间,反例来了。

    明白了上面,代码十分简单。懂了这个题,就是要把实际问题转化为抽象模型来解决,大多数是数学吧,o(︶︿︶)o 唉。
#include<cstdio>
#include<algorithm>
using namespace std;
struct NODE{int beg,end;
}no[1000000+1];
bool cmp(NODE A,NODE B)
{return A.end<B.end;
}
int main(void)
{int n;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d%d",&no[i].beg,&no[i].end);}sort(no+1,no+1+n,cmp);int ans=1;//第一区间必选NODE tep=no[1];for(int i=2;i<=n;i++){if(no[i].beg<tep.end);else{ans++;tep=no[i];}}     printf("%d\n",ans);      }

P1803 凌乱的yyy / 线段覆盖(选择不相交区间,贪心)相关推荐

  1. 信息学奥赛一本通 1323:【例6.5】活动选择 | 1422:【例题1】活动安排 | 洛谷 P1803 凌乱的yyy / 线段覆盖

    [题目链接] ybt 1323:[例6.5]活动选择 ybt 1422:[例题1]活动安排 洛谷 P1803 凌乱的yyy / 线段覆盖 注意:ybt 1323数据个数最大为 1 0 3 10^3 1 ...

  2. P1803 凌乱的yyy / 线段覆盖

    P1803 凌乱的yyy / 线段覆盖 https://www.luogu.org/problemnew/show/P1803 提交 题目提供者 yyy2015c01 嘤嘤嘤 评测方式 云端评测 标签 ...

  3. 【洛谷题解】P1803 凌乱的yyy/线段覆盖

    题目概况 题目链接: https://www.luogu.com.cn/problem/P1803 难度: 普及- 题目分析 简化题目: 想成n条线段,最多有多少条不重合区间 涉及知识点: 贪心算法 ...

  4. 洛谷---P1803 凌乱的yyy / 线段覆盖

    题目背景 快 noip 了,yyy 很紧张! 题目描述 现在各大 oj 上有 n 个比赛,每个比赛的开始.结束的时间点是知道的. yyy 认为,参加越多的比赛,noip 就能考的越好(假的). 所以, ...

  5. 选择不相交区间(贪心算法) By ACReaper

    题目的分析被说得有点绕.自己理解是这样,首先由题目我们知道选择的区间都是相互不相交的,除这之外,我们的目标是尽量的让选择的区间达到最大化. 所以我们可以先对齐排序,因为输入是随机的.假设每个区间表示为 ...

  6. 凌乱的yyy / 线段覆盖(贪心)

    https://www.luogu.org/problemnew/show/P1803  题目链接 贪心,选择结束时间为关键字排序,相同时开始时间大的在前,然后for一遍比较就好了 1 #includ ...

  7. 【洛谷】P1803 凌乱的yyy 题解

    P1803 凌乱的yyy 这道题可以简化为,给定一个范围和此范围中的若干区间,求出不相交区间的最大数量. ①首先需要按照区间的右端点值把全部区间从小到大排序, 排序目的:保证了先选择较小的区间,进而保 ...

  8. 简单区间问题 选择不相交区间 区间选点 区间覆盖问题解答及代码 C++

    1. 选择不相交区间 数轴上有n个开区间 ( a i , b i ) (a_i, b_i) (ai​,bi​).选择尽量多个区间,使得这些区间没有公共点. 这是最简单的区间问题,很多区间问题都需要先排 ...

  9. 洛谷 P1803 凌乱的yyy

    P1803 凌乱的yyy 题目网址:https://www.luogu.com.cn/problem/P1803 题目描述: 给出比赛的时间段,求能够参加比赛的最大数目. 输入输出: 输入:第一行是一 ...

最新文章

  1. maven配置国内阿里云镜像
  2. 华为服务器部署项目,服务器部署项目
  3. 7-188 编程团体赛 (20 分)
  4. rsync+inotify 文件同步
  5. 【答题卡识别】基于matlab GUI hough变换答题卡判定与成绩统计(带面板)【含Matlab源码 1017期】
  6. moea切比雪夫_基于分解的多目标进化优化MOEA/D之切比雪夫方法代码
  7. ggplot2设置坐标轴范围_ggplot2学习笔记之图形排列
  8. RPA之家直播公开课
  9. Vue基础学习笔记Day05_生命周期_axios
  10. 蓝肽子序列 [蓝桥杯]
  11. SpringBoot通过dubbo-spring-boot-starter整合Dubbo出现的问题
  12. DeepMind哈萨比斯对话哈里王子:2018年AI最大的突破在生物或化学
  13. 智力题---100个球两个人轮流拿,每次最多拿n个,谁拿到最后一个球获胜
  14. 报错:工作中心缺少公式CK430-PS
  15. 财务分析和经营分析有什么区别和联系
  16. 蓝牙广播“嗅探”模式应用
  17. 阿里云部署一个vue+axios+nodejs+mysql项目(使用宝塔面板配置)
  18. 【杂谈第37期】用三句话了解BRD、MRD和PRD文档
  19. 小麦盒子cdn_高恪论坛 - Powered by Discuz!
  20. java 图片按照比例压缩

热门文章

  1. 【从零学习OpenCV 4】了解OpenCV的模块架构
  2. spring cloud互联网分布式微服务云平台规划分析--服务统一配置中心
  3. DesignPattern(四)结构型模式(下)
  4. ajax按钮改变数据状态
  5. HTML5调用本地摄像头画面,拍照,上传服务器
  6. 由于市场判断失误 希捷降低收入预期
  7. FBI很气愤:黑了CIA的熊孩子又回来了
  8. 动态规划4--最佳加法表达式
  9. linux 能访问内网,但不能访问外网?解决方案
  10. SCVMM2012功能测试(7)—更新管理(符合性)