洛谷 P1803:凌乱的yyy / 线段覆盖 ← 贪心算法

server/2024/10/19 2:56:05/

【题目来源】
https://www.luogu.com.cn/problem/P1803

【题目背景】
快 noip 了,yyy 很紧张!

【题目来源】
现在各大 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≤10^3;
对于 70% 的数据,n≤10^5;
对于 100% 的数据,1≤n≤10^6,0≤ai<bi≤10^6。

【算法分析】
首先,对结束时间 to 从小到大进行排序;
其次,令比较基准 t = -1,并从第 i=0 个元素开始依次比较。如果第 i 个元素的开始时间 from 在比较基准 t 之后(即 a[i].from>=t),那么 ans++,把第 i 个元素的结束时间 to 作为新的比较基准 t(即 t=a[i].to),如此循环即可。

【算法代码】

#include <bits/stdc++.h>
using namespace std;const int maxn=1e6+5;struct Node {int from;int to;
} a[maxn];int up(Node u,Node v) {return u.to<v.to;
}int main() {int n;cin>>n;for(int i=0; i<n; i++) {cin>>a[i].from>>a[i].to;}sort(a,a+n,up);int ans=0;int t=-1;for(int i=0; i<n; i++) {if(a[i].from>=t) {ans++;t=a[i].to;}}cout<<ans<<endl;return 0;
}/*
in:
3
0 2
2 4
1 3out:
2
*/




【参考文献】
https://www.luogu.com.cn/problem/solution/P1803

https://www.acwing.com/file_system/file/content/whole/index/content/8430847/




 


http://www.ppmy.cn/server/132923.html

相关文章

【docker】mysql8.0 的 docker 安装

安装 指定mysql 的安装版本8.0.18 拉取镜像 docker pull mysql:8.0。18创建目录 mkdir -p /opt/docker_volumn/mysql/conf mkdir -p /opt/docker_volumn/mysql/log mkdir -p /opt/docker_volumn/mysql/data mkdir -p /opt/docker_volumn/mysql/mysql-files此步骤是为了将容…

云计算作业一:问题解决备忘

教程地址&#xff1a;https://blog.csdn.net/qq_53877854/article/details/142412784 修改网络配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33在root用户下编辑 静态ip地址配置后查看ip与配置不符 注意&#xff1a;确保在这之前已经在VMware的编辑>虚拟网络编…

php strtr 函数的坑

使用字符串参数时&#xff08;3参数&#xff09;会出来异常 $string "Hello, world!"; $new_string strtr($string, "lo", ""); echo $new_string; // He, wrd!应该使用数组形式&#xff08;2个参数&#xff09; $string "Hello, wor…

Redis简介

1 redis下载安装 redis 是一个基于内存的键值对数据库&#xff0c;支持多种数据结构&#xff0c;可以作为缓存使用。 读写性能极高&#xff0c;适合存储一些热点数据&#xff0c;例如在某一个时间点会有海量的请求来读取的数据。 官网&#xff1a; redis 中文网&#xff1a; r…

功能强大且简单易用的实时算法视频监控,智慧快消开源了。

智慧快消视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;从而大大减少企业级应用约95%的开发成本。 基于多年的深度…

如何捕捉行情爆发的前兆

在金融市场的激烈角逐中&#xff0c;每一次行情的爆发都是投资者获取丰厚回报的关键时刻。然而&#xff0c;如何识别并把握这些时刻&#xff0c;却是一门需要深厚金融专业知识和敏锐洞察力的艺术。今天&#xff0c;我们就来深入探讨行情爆发的初期信号&#xff0c;揭示那些能够…

PAXOS协议:分布式系统中的一致性守护者

PAXOS协议&#xff1a;解决同步问题 在当今数字化时代&#xff0c;分布式系统已成为支撑大规模互联网应用的基石。然而&#xff0c;随之而来的是一系列复杂的技术挑战&#xff0c;其中最为棘手的莫过于如何在多个节点之间保持数据的一致性。这就是PAXOS协议诞生的背景&#xf…

SoC芯片中Clock Gen和Reset Gen的时钟树综合

社区目前已经开设了下面列举的前四大数字后端实战课程&#xff0c;均为直播课&#xff0c;且均是小编本人亲自授课&#xff01;遇到项目问题&#xff0c;都可以远程一对一指导解决具体问题。小编本人是一线12年后端经验的数字后端工程师。想找一线IC后端技术专家亲自带你做后端…