当前位置: 首页 > news >正文

P1803 凌乱的yyy / 线段覆盖

题目背景

Python 用户可以尝试使用 pypy3 提交试题。

快 noip 了,yyy 很紧张!

题目描述

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

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

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

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

输入格式

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

输出格式

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

输入输出样例

输入 #1

3
0 2
2 4
1 3

输出 #1

2

说明/提示

  • 对于 20% 的数据,n≤10;
  • 对于 50% 的数据,n≤103;
  • 对于 70% 的数据,n≤105;
  • 对于 100% 的数据,1≤n≤106,0≤ai​<bi​≤106。

题目解析

 通过分析题目得知我们需要知道最多可以参加多少个比赛(即,通过调整参加的顺序使得参加的个数最多)

怎么样才能最多呢——>一场比赛花费的时间最少的时候——>相同时间起点的情况下一场比赛的结束时间在时间轴上越靠右,这样就能有更多的时间机会去参加其他比赛。

思路:利用结构体数组存储时间,输入时间后我们利用结束时间的大小进行排序,然后逐个进行选择,选择之后利用bool类型的check数组存储选取情况,可以选就选。

代码

#include<bits/stdc++.h>
using namespace std;
const int maxn = 1000005;bool check[maxn];
struct px{int l;int r;
}arr[maxn];bool cmp(px x, px y)
{return x.r < y.r;
}
int main()
{int n;cin >> n;for(int i = 0; i < n; i++){cin >> arr[i].l >> arr[i].r;}sort(arr, arr + n, cmp);//for(int i = 0; i < n; i++)cout << arr[i].r << " ";//进行选择int ans = 0, f, a, b;for(int i = 0; i < n; i++){f = 0;a = arr[i].l, b = arr[i].r;for(int j = a; j <= b; j++){if(check[j]){//检查选取状态f = 1;break;}}if(f == 0){ans++;//标记选取状态check[a] = true;check[b - 1] = true;}}cout << ans;return 0;
}

http://www.xdnf.cn/news/776161.html

相关文章:

  • Python中sys模块详解
  • 云服务器突发宕机或无响应怎么办
  • 【PCB设计】STM32开发板——电源设计
  • Java注释详解:单行、多行与文档注释的区别与应用
  • c++泛型编程入门与STL介绍
  • ps色阶调整
  • 样本量计算:两独立样本定量资料——平均值差的置信区间法
  • Dify 部署问题处理
  • 本地部署 DeepSeek R1(最新)【从下载、安装、使用和调用一条龙服务】
  • MySQL触发器与视图
  • 什么是阻抗匹配
  • Python训练营---Day43
  • 一键解决Github无法访问或时断时续的问题-Linux环境
  • 页岩油开采的阶段
  • 无畏契约 directx runtime修复
  • 【CATIA的二次开发18】根对象Application涉及用户交互相关方法
  • MyBatis04:SpringBoot整合MyBatis——多表关联|延迟加载|MyBatisX插件|SQL注解
  • 《棒球万事通》棒球特长生升学方向·棒球1号位
  • 【CF】Day73——Codeforces Round 887 (Div. 2) B (思维 + 模拟)
  • 【基于阿里云搭建数据仓库(离线)】DataWorks中删除节点
  • 【C语言预处理详解(上)】--预定义符号,#define定义常量,#define定义宏,带有副作用的宏参数,宏替换的规则,宏和函数的对比
  • 【MIMO稳定裕度】基于数据驱动的多输入多输出系统稳定裕度分析
  • 【HW系列】—安全设备介绍(开源蜜罐的安装以及使用指南)
  • Ubuntu20.04 LTS 升级Ubuntu22.04LTS 依赖错误 系统崩溃重装 Ubuntu22.04 LTS
  • Qt共享内存(QSharedMemory)使用指南
  • openai-java
  • 白银价格查询接口如何用Java进行调用?
  • 【nm】nm命令的使用:查看.so中的符号信息
  • ps自然饱和度调整
  • 江科大RTC实时时钟hal库实现