zoukankan      html  css  js  c++  java
  • Stall Reservation

    题目描述

    FJ的N(1<=N<=50,000)头奶牛实在是太难伺候了,她们甚至有自己独特的产奶时段。当然对于某一头奶牛,她每天的产奶时段是固定的,为时间段A..B(1<=A<=B<=1,000,000),包括时间段A和时间段B 。

    显然,FJ必须开发一个调控系统来决定每头奶牛应该被安排到哪个牛棚去挤奶,因为奶牛们显然不希望在挤奶时被其它奶牛看见。

    FJ希望你帮他计算一下:

    • 如果要满足奶牛们的要求,并且每天每头奶牛都要被挤过奶,至少需要多少牛棚

    • 每头牛应该在哪个牛棚被挤奶

      对于每组数据,可能会有很多可行解,你的程序只需要输出任意一组,将会有评测程序来判断你的输出的正确性。

    输入格式

    第1行: 一个单独的整数N,为奶牛的总数

    第2..N+1行: 每行包括2个用空格隔开的正整数,第i+1行的数据描述的是第i头奶牛的产奶时段

    输出格式

    第1行: 输出一个整数M,表示最少需要的牛棚数

    第2..M+1行: 每行输出一个整数,第i+1行的整数表示第i头牛被安排到的牛棚的编号

    样例数据

    input

    5
    1 10
    2 4
    3 6
    5 8
    4 7

    output

    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>>>>>>>>> .. .. ..
    (ci表示第i头奶牛)
    
        其他需要同样数目的牛棚的合法输出也是正确的。

    数据规模与约定

    时间限制:1s1s

    空间限制:64MB64MB

    数据+spjspj来自2020届

  • 相关阅读:
    S2 第二章数据库的实现
    理解ThreadLocal(之二)
    理解ThreadLocal(之一)
    save(),saveOrUpdate(),merge()的区别
    Hibdernate入门
    Hibernate第一个例子
    在运行Hibernate Hello World程序的时候,抛如下错误: view plain Exception in thread "main" org.hibernate.exception.LockAcquisitionException 解决方法
    Oracle函数
    UDP
    多线程下真正的单例
  • 原文地址:https://www.cnblogs.com/fuhuayongyuandeshen/p/14198776.html
Copyright © 2011-2022 走看看