zoukankan      html  css  js  c++  java
  • L2-014. 列车调度(set的使用,最长递增子序列)

    L2-014. 列车调度

    时间限制
    300 ms
    内存限制
    65536 kB
    代码长度限制
    8000 B
    判题程序
    Standard
    作者
    陈越

    火车站的列车调度铁轨的结构如下图所示。


    Figure

    两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在图中有9趟列车,在入口处按照{8,4,2,5,3,9,1,6,7}的顺序排队等待进入。如果要求它们必须按序号递减的顺序从出口离开,则至少需要多少条平行铁轨用于调度?

    输入格式:

    输入第一行给出一个整数N (2 <= N <= 105),下一行给出从1到N的整数序号的一个重排列。数字间以空格分隔。

    输出格式:

    在一行中输出可以将输入的列车按序号递减的顺序调离所需要的最少的铁轨条数。

    输入样例:
    9
    8 4 2 5 3 9 1 6 7
    
    输出样例:
    4
    

    提交代码

    #include<map>    
    #include<set>    
    #include<ctime>    
    #include<cmath>    
    #include<queue>    
    #include<bitset>    
    #include<string>    
    #include<vector>    
    #include<cstdio>    
    #include<cstring>    
    #include<iostream>    
    #include<algorithm>    
    #include<functional>    
    using namespace std;
    int main()
    {
        int n;
        cin>>n;
        set<int>s;
        for(int i=1;i<=n;i++)
        {
            int x;
            cin>>x;
            if(s.size ()==0) 
            {
                s.insert (x);
            }
            else
            {
                if(s.lower_bound(x)!=s.end())
                {
                    s.erase(s.lower_bound(x));
                    s.insert(x);//找到一个比此数大的使其跟在后面的,就把前面那个数删除.
                }
                else
                s.insert(x);//否则就新开一个铁路.
            }
        }
        cout<<s.size ();
    }
  • 相关阅读:
    javascipt加强对类的理解
    PHP(http协议)相关应用知识
    javascipt对象成员函数
    PHP(http协议)防盗链技术(小练习)
    javasricpt二维数组矩形转置
    PHP二维数组矩形转置
    javascipt冒泡排序
    用vim解压各种格式
    转载:【菜鸟专用】使用LaTeX轻松撰写精美个人简历
    Ruby的gets和gets.chmop
  • 原文地址:https://www.cnblogs.com/caiyishuai/p/13271080.html
Copyright © 2011-2022 走看看