AT_arc032_3.[ARC032C] 仕事計画
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
大工的チョーさん(Daiku Cho)被委托了 N 个工作。第 i 个工作在时刻 ai 开始,在 bi 结束。
チョーさん一次不能同时进行多个工作,因此他希望从这些工作中选择尽可能多的、时间不重叠的工作来完成。不过,他可以在一个工作结束的同时立即开始下一个工作。
如果有多种选择方式能选出最多的工作,チョーさん希望选择那些按开始时间排序后,工作编号的序列字典序最小的方案。
虽然チョーさん很擅长工作,但他不太擅长管理日程。请你帮他求出他能接下的最优工作组合。
对于长度为 L 的序列 A={a1,a2,…,aL} 和 B={b1,b2,…,bL},若存在 k(1≤k≤L),使得
- 对于 i<k 有 ai=bi,
- 对于 i=k 有 ak<bk,
则称 A 的字典序小于 B。
输入格式
输入通过标准输入给出。
第 1 行包含一个整数 N,表示チョーさん被委托的工作数。
接下来的 N 行,每行包含两个整数 ai,bi,表示第 i 个工作的开始和结束时间。数值之间用空格分隔。
- 第 1 行:N (1≤N≤100,000)。
- 第 2 行到第 N+1 行:每行两个整数 ai,bi (0≤ai<bi≤1,000,000)。
输出格式
第 1 行输出チョーさん能接下的工作的最大数量。
第 2 行输出这些工作的编号(按开始时间从早到晚排序),编号之间用一个空格分隔。
请不要忘记输出末尾换行符,并且不要在末尾添加多余的空格。
输入输出样例
输入#1
4 0 5 0 3 3 7 5 10
输出#1
2 1 4
输入#2
5 0 5 0 3 3 7 5 10 7 12
输出#2
3 2 3 5
输入#3
8 1 5 3 9 2 5 1 2 8 10 9 11 7 15 10 14
输出#3
4 4 3 5 8
说明/提示
样例解释 1
チョーさん最多可以选择 2 个工作。有 3 种选择方式:可以选择工作 1 和 4,或者工作 2 和 3,或者工作 2 和 4。其中,按开始时间排序后,工作编号序列字典序最小的是选择工作 1 和 4,因为它们的编号按开始时间排序为 {1,4},这是字典序最小的(21:12修正)。

由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?