
CSU 1757: 火车入站(区间覆盖的最大覆盖深度)
发布日期:2021-05-15 18:29:56
浏览次数:10
分类:精选文章
本文共 788 字,大约阅读时间需要 2 分钟。
题目:
Description
火车站人们总是在站台等待列车进站,一个站台有火车停留的时候就不能有其他火车进入,今天有n辆火车经过,已知它们进站时间Si以及出站时间Ti,进站时间到出站时间之间火车必须有一个站台给它停靠,问让所有火车都能按时停靠,至少要安排多少个站台给这些火车
Input
第一行输入一个正整数T,表示数据组数
每组数据第一行输入一个正整数n,表示火车数量(n<=10000)接下来n行,每行输入2个正整数Si,Ti,表示第i辆火车的进站时间和出站时间(Si<Ti<1e9)Output
每组数据输出至少需要安排多少个站台
Sample Input
131 33 44 6
Sample Output
2
思路:
其实就是n个闭区间,求一个点最多被多少个区间覆盖
代码:
#include#include #include using namespace std;int main(){ int T, n, s[10001], t[10001]; cin >> T; while (T--) { cin >> n; for (int i = 1; i <= n; i++)scanf("%d%d", &s[i], &t[i]); sort(s + 1, s + n + 1); sort(t + 1, t + n + 1); int ans = 0; for (int i = 1, j = 1; i <= n;) { if (s[i] <= t[j]) { if (ans < i - j)ans = i - j; i++; } else j++; } cout << ans + 1 << endl; } return 0;}
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月25日 21时58分04秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基数树(radix tree)
2021-05-15
58Q游戏(4)73(5)85(6)98(7)
2021-05-15
独立钻石棋详解
2021-05-15
106 多米诺骨牌(12)119(8)130(9)142(10)150(11)
2021-05-15
点亮细胞171-180
2021-05-15
C++ Primer Plus读书笔记:c++字符串
2021-05-15
CSU 1757: 火车入站(区间覆盖的最大覆盖深度)
2021-05-15
C++ Primer Plus读书笔记:循环读取(错误处理)
2021-05-15
skimage与cv2 安装失败的解决办法
2021-05-15
linuxmint 上面装谷歌浏览器
2021-05-15
windows/linux下Anaconda管理的(安装的)包的位置
2021-05-15
关于吴恩达的深度学习的一些授课视频里面英文翻译错误的实例展示
2021-05-15
伴随矩阵和逆矩阵的关系证明
2021-05-15
反向传播之矩阵求导dL/dz1的求导过程 普通神经网络的逆向求导过程
2021-05-15
numpy.linspace使用详解
2021-05-15
突破Bias-Variance困境
2021-05-15
函数可导和可微的区别: 一元中互为充要;多元中可微是可导的必要条件,可导不一定可微。
2021-05-15
一文说尽C++赋值运算符重载函数(operator=)
2021-05-15