#EE20251121. 2025年11月21日大二E题
2025年11月21日大二E题
题目:最多可参加的活动场次
题目描述
某学校在一天内安排了许多活动,每个活动都有一个开始时间和结束时间。 你作为学生,希望在不时间冲突的前提下,参加尽可能多的活动。
已知:
- 活动的开始时间和结束时间都是整数。
- 若一个活动在时间区间 ([s, e)) 内进行,表示从时间
s开始,在时间e结束,包含 s,不包含 e。 - 如果两个活动的时间区间没有交集,则它们不会时间冲突。 例如:([1, 3)) 和 ([3, 5)) 不冲突,可以连续参加这两个活动。
请你计算:在不发生时间冲突的前提下,最多能参加多少个活动。
输入格式
- 第一行包含一个整数 (n)(表示活动数量)。
- 接下来 (n) 行,每行包含两个整数 (s, e)(表示一个活动的开始时间和结束时间),满足 (s < e)。
输出格式
输出一个整数,表示最多能参加的活动场次数。
样例输入 1
5
1 3
3 5
0 2
5 10
4 6
样例输出 1
4
样例说明 1
一种可行的参加方案是:
- 选择活动 ([0,2))
- 选择活动 ([2,3))(本样例中没有这个活动,只是示意)
- 实际样例中可选:([0,2))、([2,3)) 被 ([1,3)) 替代
- 你可以选择如下 4 个活动(例如按结束时间升序挑选):
按结束时间排序: ([1,3), [3,5), [4,6), [5,10)) 以及 ([0,2))。 一个最优选择方案为:([0,2), [3,5), [5,10)) 和 ([1,3)) 中任取一个合理排布,共 4 场。 (评测仅检查你输出的最大数量,不关心具体选择了哪些活动。)
样例输入 2
3
0 10
1 2
2 3
样例输出 2
2
样例说明 2
- 你无法同时参加 ([0,10)) 和其他任意一个活动,因为它覆盖了整个时间段。
- 一个最优方案是参加 ([1,2)) 和 ([2,3)),共 2 场。
相关
在下列比赛中: