AT_arc032_3 [ARC032C] 仕事計画
题目描述
大工的チョーさん(Daiku Cho)被委托了 $N$ 个工作。第 $i$ 个工作在时刻 $a_i$ 开始,在 $b_i$ 结束。
チョーさん一次不能同时进行多个工作,因此他希望从这些工作中选择尽可能多的、时间不重叠的工作来完成。不过,他可以在一个工作结束的同时立即开始下一个工作。
如果有多种选择方式能选出最多的工作,チョーさん希望选择那些按开始时间排序后,工作编号的序列字典序最小的方案。
虽然チョーさん很擅长工作,但他不太擅长管理日程。请你帮他求出他能接下的最优工作组合。
对于长度为 $L$ 的序列 $A=\{a_1,a_2,\ldots,a_L\}$ 和 $B=\{b_1,b_2,\ldots,b_L\}$,若存在 $k(1\leq k\leq L)$,使得
- 对于 $i
输入格式
输入通过标准输入给出。
> 第 $1$ 行包含一个整数 $N$,表示チョーさん被委托的工作数。
> 接下来的 $N$ 行,每行包含两个整数 $a_i, b_i$,表示第 $i$ 个工作的开始和结束时间。数值之间用空格分隔。
- 第 $1$ 行:$N\ (1\leq N\leq 100,000)$。
- 第 $2$ 行到第 $N+1$ 行:每行两个整数 $a_i, b_i\ (0\leq a_i < b_i \leq 1,000,000)$。
输出格式
第 $1$ 行输出チョーさん能接下的工作的最大数量。
第 $2$ 行输出这些工作的编号(按开始时间从早到晚排序),编号之间用一个空格分隔。
请不要忘记输出末尾换行符,并且不要在末尾添加多余的空格。
说明/提示
### 样例解释 1
チョーさん最多可以选择 $2$ 个工作。有 $3$ 种选择方式:可以选择工作 $1$ 和 $4$,或者工作 $2$ 和 $3$,或者工作 $2$ 和 $4$。其中,按开始时间排序后,工作编号序列字典序最小的是选择工作 $1$ 和 $4$,因为它们的编号按开始时间排序为 $\{1,4\}$,这是字典序最小的(21:12修正)。

由 ChatGPT 4.1 翻译