最多能打多少场比赛呢

news/2024/11/16 17:30:07/

凌乱的yyy / 线段覆盖

题目背景

快 noip 了,yyy 很紧张!

题目描述

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

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

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

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

输入格式

第一行是一个整数 n n n ,接下来 n n n 行每行是 2 2 2 个整数 a i , b i a_{i},b_{i} ai,bi ( a i < b i a_{i}<b_{i} ai<bi ),表示比赛开始、结束的时间。

输出格式

一个整数最多参加的比赛数目。

样例 #1

样例输入 #1

3
0 2
2 4
1 3

样例输出 #1

2

提示

对于 20 % 20\% 20% 的数据, n ≤ 10 n \le 10 n10

对于 50 % 50\% 50% 的数据, n ≤ 1 0 3 n \le 10^3 n103

对于 70 % 70\% 70% 的数据, n ≤ 1 0 5 n \le 10^{5} n105

对于 100 % 100\% 100% 的数据, 1 ≤ n ≤ 1 0 6 1\le n \le 10^{6} 1n106 0 ≤ a i < b i ≤ 1 0 6 0 \le a_{i} < b_{i} \le 10^6 0ai<bi106

思路

要求最多能打多少场比赛,那么早结束的比赛就要先打,所以要按比赛结束时间来排序。设定一个变量en来储存上一次比赛结束时间,如果这一次比赛开始时间大于等于上一次比赛结束时间,那么这场比赛就可以打,接着更新en为这次比赛结束时间,方便下一个比较。这里我想分享一下我讨论的一个问题:当区间包含的时候,比如2 3、2 4、3 4,因为原先按比赛结束时间排好了序,所以2 3会打,然后因为2 4的比赛开始时间小于2 3比赛结束时间,所以2 4不会打,接着 3 4会打。也就是说,区间重合时,会筛选出区间内的比赛。因为最外层的那场比赛开始时间小,结束时间大,会被筛掉的。

#include<iostream>
#include<algorithm>
using namespace std;
const int N=1e6+10;
struct Tim
{int s,e;
}t[N];
bool cmp(Tim a,Tim b)
{return a.e<b.e;//按照比赛结束时间从小到大排序
}
int main()
{int n;cin>>n;for(int i=0;i<n;i++){cin>>t[i].s>>t[i].e;}sort(t,t+n,cmp);int en=0;long long cnt=0;for(int i=0;i<n;i++){if(t[i].s>=en)//大于上次比赛结束时间,区间不重合{en=t[i].e;//更新比赛结束时间cnt++;}else{continue;}}cout<<cnt;return 0;
}

http://www.ppmy.cn/news/60671.html

相关文章

c++基础-运算符

目录 1关系运算符 2运算符优先级 3关系表达式的书写 代码实例&#xff1a; 下面是面试中可能遇到的问题&#xff1a; 1关系运算符 C中有6个关系运算符&#xff0c;用于比较两个值的大小关系&#xff0c;它们分别是&#xff1a; 运算符描述等于!不等于<小于>大于<…

python 编写K210控制步进电机的程序示例

今天正好看到K210的脉冲章节&#xff0c;就顺便拿出步进电机做个小实验&#xff0c;也好巩固一下所学的知识。下面是K210关于脉冲的相关介绍&#xff1a; 构造函数 machine.PWM(tim, freq, duty, pin, enableTrue) PWM 对象在 machine 模块下 【tim】K210 的 PWM 依赖…

Java多线程基础概述

简述多线程&#xff1a; 是指从软件或者硬件上实现多个线程并发执行的技术。 具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程&#xff0c;提升性能。 正式着手代码前&#xff0c;需要先理清4个概念&#xff1a;并发&#xff0c;并行&#xff0c;进程&#…

【A200】 TX1核心 JetPack4.6.2版本如何修改DTB文件测试全部SPI

大家好&#xff0c;我是虎哥&#xff0c;很长时间没有发布新内容&#xff0c;主要是这段时间集中精力&#xff0c;研究DTB设备树的修改&#xff0c;以适配不同载板&#xff0c;同时也是专门做了一个TX1&TX2核心&#xff0c;双网口&#xff0c;可以使用SPI 扩展CAN接口的载板…

揭秘是什么?让开屏广告效益几何增长

​在移动广告投放中&#xff0c;开屏广告是相当受欢迎的广告形式。开屏广告的受欢迎程度源于它具有很高的曝光率&#xff0c;用户在使用应用时通常就会看到开屏广告&#xff0c;因此开屏广告可以将广告内容传达给更多的用户&#xff0c;也拥有较高转化率。 接下来&#xff0c;…

解锁新技能《Spring Plugin插件系统》

平时工作过程中很少使用Spring Plugin插件&#xff0c;最近因为在学习springfox源码的过程中发现有大量用到&#xff0c;先来学习下插件的使用方法。 GitHub地址&#xff1a;https://github.com/spring-projects/spring-plugin 截止20230426日&#xff0c;GitHub的Star为403&…

JSP在线教学质量评价系统的设计与实现(源代码+论文)

在线教学质量评价系统可以方便和全面地收集教师教学工作的数据&#xff0c;提供师生网上评教的评分结果&#xff0c;快速集中收集各方面的评教信息&#xff0c;使教务管理部门能够及时了解教学动态和师资情况&#xff0c;为教务老师提供相关决策支持&#xff0c;为职称评聘提供…

2.压力测试+优化(Jmeter)

typora-copy-images-to: assert typora-root-url: assert 概述 1.性能指标 从外部看&#xff0c;性能测试主要关注如下三个指标【量越大越好&#xff0c;时间越少越好】吞吐量:每秒钟系统能够处理的请求数、任务数。响应时间:服务处理一个请求或一个任务的耗时。错误率:一批…