#P3190. Stall Reservations

    ID: 2191 传统题 1000ms 256MiB 尝试: 2 已通过: 2 难度: 10 上传者: 标签>贪心数据结构队列优先队列USACO 2006 February Silver

Stall Reservations

题目描述:

哦,那些挑剔的 NN1N50,000(1 ≤ N ≤ 50,000)头奶牛!它们非常挑剔,每头奶牛只愿意在某个精确的时间区间 A..B1AB1,000,000A..B(1 ≤ A ≤ B ≤ 1,000,000)内挤奶,包括起始时间 AA 和结束时间 BB。显然,FJFJ 必须创建一个预约系统,为每头奶牛分配挤奶时使用的畜栏。当然,没有奶牛会愿意与其他奶牛共享这一私密时刻。

请帮助 FJFJ 解决以下问题:

11.确定牛棚中所需的最小畜栏数量,确保每头奶牛都能有自己的私密挤奶时间段。

22.为每头奶牛分配具体的畜栏。

对于每个测试数据集,可能有多个正确答案;程序将自动评判你的答案是否正确。

输入:

第一行:一个整数 NN

第二行到第 N+1N+1 行:第 i+1i+1 行用两个空格分隔的整数描述第 ii 头奶牛的挤奶时间区间。

输出:

第一行:牛棚必须拥有的最小畜栏数。

第二行到第 N+1N+1 行:第 i+1i+1 行描述第 ii 头奶牛挤奶时被分配的畜栏编号。

输入数据1

5
1 10
2 4
3 6
5 8
4 7

输出数据1

4
1
2
3
2
4

提示:

样例解释: 以下是该输出的图形化时间表:

时间 1 2 3 4 5 6 7 8 9 10

畜栏 1 c1>>>>>>>>>>>>>>>>>>>>>>>>>>>

畜栏 2 .. c2>>>>>> c4>>>>>>>>> .. ..

畜栏 3 .. .. c3>>>>>>>>> .. .. .. ..

畜栏 4 .. .. .. c5>>>>>>>>> .. .. ..

使用相同数量畜栏的其他输出也是可能的。

来源:

美国计算机科学奥林匹克竞赛(USACO)2006 年 2 月白银级