您的位置:首页 > 其它

PAT L2-014. 列车调度

2017-04-14 20:16 169 查看

题目链接:PAT L2-014. 列车调度

题意:

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

题解:

用set贪心一下,记录车头

1 #include<bits/stdc++.h>
2 #define F(i,a,b) for(int i=a;i<=b;++i)
3 using namespace std;
4
5 const int N=1e5+7;
6
7 int a
;
8 set<int>Q;
9 set<int>::iterator it;
10 int main()
11 {
12     int n;
13     scanf("%d",&n);
14     F(i,1,n)scanf("%d",a+i);
15     Q.insert(a[1]);
16     F(i,2,n)
17     {
18         it=Q.lower_bound(a[i]);
19         if(it!=Q.end())Q.erase(it);
20         Q.insert(a[i]);
21     }
22     printf("%d\n",Q.size());
23 }
View Code

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: