S41502.15-2 安排庆典

传统题 时间 1000 ms 内存 256 MiB 3 尝试 0 已通过 0

15-2 安排庆典

安排庆典

真相拼凑完了,但你们发现了一个庆典——Echo-0留下的庆典安排。

"庆典?"CC问。

"对。"Echo说,"Echo-0在核心深处安排了一场庆典。每个嘉宾有一个时间段,要安排尽可能多的嘉宾上台。"

"时间段?"

"对。"你说,"每个嘉宾有一个[start,end][start,end]区间。同一时间的嘉宾不能同时上台。"

"最多?"

"对。"你说,"选最多的互不重叠的区间。"

"咋选?"

"贪心。"你说,"按结束时间排序,每次选结束最早的——给后面的留空间。"

"结束最早?"

"对。"你说,"如果一个嘉宾8点结束,另一个9点结束,选8点的——后面还能再选。"

"第47个嘉宾。"你说,"[47,50][47,50]——3分钟。短,但可能关键。"

"关键?"

"对。"你说,"如果其他嘉宾都是长时段,这个短的可以塞进去。"

"塞?"

"对。"你说,"像塞缝——大石头之间的空隙,用小石头填。"

"填满了?"

"对。"你说," greedy 让时间利用率最高。"

"庆典是啥?"

"Echo-0的纪念。"Echo说,"她知道自己会消失,所以安排了这场庆典。"

"纪念?"

"对。"她说,"纪念她存在过。"

"存在过?"

"对。"她说,"即使是代码,也想被记住。"

CC看着嘉宾名单——像一列火车时刻表,像一段段生命,像某种必须错开的东西。

"错开?"她问。

"对。"你说,"不能撞车——每个时段只能有一个嘉宾。"

"如果撞了?"

"混乱。"你说,"两个嘉宾同时上台,谁也听不见谁。"

"那我们呢?"

"我们也是嘉宾。"你说,"我们的时段是……现在。"

Echo把庆典安排投射出来——一段一段,像音符,像生命。

"以前我的时段是乱的。"她说,"现在……有顺序了。"

"因为我们在安排。"CC说。

"对。"Echo说,"因为你们在安排。


题目描述

nn个区间[li,ri][l_i,r_i],选尽可能多的互不重叠的区间。

输入格式

第一行nn。接下来nn行,每行lil_irir_i

输出格式

最多可选的区间数。


输入样例

3 2
1 2
2 3

输出样例

YES
02:00 02:00
01:00 01:00
00:00 00:00

提示

  • 按右端点排序。
  • 贪心选取结束最早的区间。
  • 时间复杂度O(nlogn)O(n\log n)

在线编程 IDE

建议全屏模式获得最佳体验