精华内容
下载资源
问答
  • 【JZOJ A列车调度

    2018-08-19 20:23:43
    Description Input Output Sample Input Sample1: 3 1 2 3 Sample2: 9 1 3 2 4 8 6 9 5 7 Sample Output Sample1: 3 Sample2: 5 ...首先,一个列车进队,必须满足前面的车...

    Description

    Input

    Output

    Sample Input

    Sample1:
    3
    1 2 3
    Sample2:
    9
    1 3 2 4 8 6 9 5 7

    Sample Output

    Sample1:
    3
    Sample2:
    5

    Data Constraint

    思路

    这题我用的是贪心做法

    首先,一个列车进队,必须满足前面的车的编号大于它。
    不难想到我们的最优方案是让列车入编号刚好大于它的那一队。

    所以我们可以用set维护。

    代码

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<set>
    using namespace std;
    int ans,n;
    set<int> q;
    int main()
    {
        scanf("%d",&n);
        for(int i=1; i<=n; i++)
        {
            int x;
            scanf("%d",&x);
            set<int>::iterator j=q.upper_bound(x);
            if(j==q.end()) q.insert(x),ans++;else q.erase(*j),q.insert(x);
        }
        printf("%d",ans);
    }
    展开全文
  • 【NOIP2017提高A模拟7.12】列车调度DescriptionInputOutputSample InputSample1:3 1 2 3Sample2:9 1 3 2 4 8 6 9 5 7Sample OutputSample1:3Sample2:5Data ConstraintSolution 显然,一辆列车开到另一辆列车的...

    Description

    Description

    Input

    Input

    Output

    Output

    Sample Input

    Sample1:

    3
    1 2 3

    Sample2:

    9
    1 3 2 4 8 6 9 5 7

    Sample Output

    Sample1:

    3

    Sample2:

    5

    Data Constraint

    Data Constraint

    Solution

    • 显然,一辆列车开到另一辆列车的后面,一定比新开一条轨道更优。

    • 那么一辆列车要满足什么条件才能停到另一辆的后面呢?

    • 它的序号 X 一定小于前面的列车!不然其他就出不去、无法满足题意了。

    • 于是我们贪心地寻找比 X 大的值且最小的那个位置,停进去即可。

    • 其实我们不需要模拟开出的情况,因为操作是序号更小时才会进行的。

    • 那么当某个序号的列车将要开出时,它的前面一定没有阻挡的列车,因为它们已经开出了。

    • 于是我们只需用一个 Set 维护一下轨道最后一个列车的序号的情况,直接处理即可。

    • 这样的时间复杂度是 O(NlogN)

    Code

    #include<cstdio>
    #include<set>
    using namespace std;
    inline int read()
    {
        int X=0,w=1; char ch=0;
        while(ch<'0' || ch>'9') {if(ch=='-') w=-1;ch=getchar();}
        while(ch>='0' && ch<='9') X=(X<<3)+(X<<1)+ch-'0',ch=getchar();
        return X*w;
    }
    set<int>f;
    int main()
    {
        int n=read(),ans=0;
        for(int i=1;i<=n;i++)
        {
            int x=read();
            f.insert(x);
            set<int>::iterator it=f.find(x);
            if(++it==f.end()) ans++; else f.erase(it);
        }
        printf("%d",ans);
        return 0;
    }
    展开全文
  • 列车调度 题目描述 输入描述 输出描述 样例输入 Sample1: 3 1 2 3 Sample2: 9 1 3 2 4 8 6 9 5 7 样例输出 Sample1: 3 Sample2: 5 题解: 我们发现,如果要使轨道数k最小,那么应尽量在...

    T1:

    列车调度

    题目描述

    这里写图片描述

    输入描述

    这里写图片描述

    输出描述

    这里写图片描述

    样例输入

    Sample1:
    3
    1 2 3
    Sample2:
    9
    1 3 2 4 8 6 9 5 7

    样例输出

    Sample1:
    3
    Sample2:
    5

    题解:
    我们发现,如果要使轨道数k最小,那么应尽量在现有的轨道中塞(废话)。
    而要保证倒叙出去,没有列车的编号能大于同一条轨道中前面所有列车的编号(除非它是第一辆)
    那么可以分两种情况讨论:
    1,目前所有轨道的最后一辆列车的编号都小于要塞入的那辆列车的编号
    多加一条轨道,将列车塞进去即可
    2,目前某些轨道的最后一辆列车的编号都小于要塞入的那辆列车的编号
    找到最小的大于当前列车编号的那辆列车所在的轨道,塞入即可。
    解释一下第二种情况,
    设当前要塞入的列车编号为x,轨道1,2的结尾列车编号分别为s1和s2,s2>s1>x。
    如果我们把x放在s1后面,则轨道1接下来只能放编号

    展开全文
  • 【Tsinghua】列车调度(Train)

    千次阅读 2014-08-04 14:17:50
    列车调度(Train) 描述 某列车调度站的铁道联接结构如图所示。 其中,A为入口,B为出口,S为中转盲端。所有铁道均为单轨单向式:列车行驶的方向只能是从A到S,再从S到B;另外,不允许超车。因为车厢可在S中驻留,...

    这题没什么好说的,就是一个栈的实现,因为当时那个OJ不能用STL,就自己写了一个功能有,但是不完善的栈,反正解出题目了。。。。。。

    注意:此题是第二次mooc课程,但是我参加的第一次mooc课,所以ac代码可能不能直接提交,需要修改


    列车调度(Train)

    描述

    某列车调度站的铁道联接结构如图所示。

    其中,A为入口,B为出口,S为中转盲端。所有铁道均为单轨单向式:列车行驶的方向只能是从A到S,再从S到B;另外,不允许超车。因为车厢可在S中驻留,所以它们从B端驶出的次序,可能与从A端驶入的次序不同。不过S的容量有限,同时驻留的车厢不得超过m节。

    设某列车由编号依次为{1, 2, ..., n}的n节车厢组成。调度员希望知道,按照以上交通规则,这些车厢能否以{a1, a2, ..., an}的次序,重新排列后从B端驶出。如果可行,应该以怎样

    的次序操作?

    输入

    共两行。

    第一行为两个整数n,m。

    第二行为以空格分隔的n个整数,保证为{1, 2, ..., n}的一个排列,表示待判断可行性的驶出序列{a1,a2,...,an}。

    输出

    若驶出序列可行,则输出操作序列,其中push表示车厢从A进入S,pop表示车厢从S进入B,每个操作占一行。

    若不可行,则输出No。

    输入样例1

    5 2
    1 2 3 5 4
    

    输出样例1

    push 
    pop 
    push 
    pop
    push
    pop
    push
    push
    pop
    pop
    

    输入样例2

    5 5
    3 1 2 4 5
    

    输出样例2

    No

    限制

    1 ≤ n ≤ 1,600,000

    0 ≤ m ≤ 1,600,000

    时间:2 sec

    空间:256MB




    AC的代码:
    #include <stdio.h>
    #define MANX 100005
    
    int Stack[MANX];
    int Out[MANX];
    int sTop=0;	//栈顶指针
    
    void push(int a)
    {
    	Stack[++sTop]=a;
    }
    
    void pop()
    {
    	sTop--;
    }
    
    int top()
    {
    	return Stack[sTop];
    }
    
    int main()
    {
    	// in 的时候一定是{1, 2, ..., n}
    	int n,m;
    	scanf("%d%d",&n,&m);
    	
    	int i;
    	for(i=1;i<=n;i++)
    		scanf("%d",&Out[i]);
    	
    	//算法开始
    	int j=0;
    	for(i=1;i<=n;i++)
    	{
    		//如果小于栈顶元素,直接可判断在栈中而无法出栈
    		if(Out[i]<top())
    		{
    			printf("No\n");
    			return 0;
    		}
    
    		//直到 Out[i] 的元素全部加入栈
    		if(j<Out[i])
    			while(j!=Out[i])
    				push(++j);
    		
    		if(sTop>m)
    		{
    			printf("No\n");
    			return 0;
    		}
    		
    		if(Out[i]==top())
    			pop();
    	}
    
    	printf("Yes\n");
    	
    	return 0;
    }
    







    展开全文
  • c++学习笔记第一篇 列车调度问题

    千次阅读 2017-11-20 20:22:08
    c++学习笔记第一篇 列车调度问题题目列车调度描述某列车调度站的铁道联接结构如Figure 1所示。其中,A为入口,B为出口,S为中转盲端。所有铁道均为单轨单向式:列车行驶的方向只能是从A到S,再从S到B;另外,不允许...
  • Description Input Output Sample Input Sample1: 3 1 2 3 Sample2: 9 1 3 2 4 8 6 9 5 7 Sample Output Sample1: 3 Sample2: 5 ...最长不下降子序列(N log N)或者直接set...
  • 每次加入一个新的列车,就在线段树里面找出第一个比它大的 然后就将这个列车加入到这条轨道。 如果找不到比它大的,就新开一条轨道。通过观察发现,每条轨道的第一个组成了原序列的最长上升子序列。 也就是说我们...
  • L2-014 列车调度 (25 分)

    2021-03-21 17:40:31
    就给这个最大节点开一个房间放进去,如果一个节点不是最大的节点,那就从开始向后找,找到一个比它大的,就把这个节点覆盖掉,值得注意的是,这个题目数据较大,找的时候会超时一样例,所以可以用upper_bound()...
  • 导弹拦截问题中的本质是求一个序列的最长上升子序列,只有这样才会新开导弹。也就是本问题中的铁轨。#include #include using namespace std; int n,a[100000+10],b[100000+10]; int cnt,t;int main() { int n,m,...
  • 火车调度

    2014-12-25 23:34:46
    火车从A地和B地之间运行,你知道火车从某地出发的时间和到达某地的时间(这个时间出发,一定这个时候到达)。... 输入格式: 多数据,每数据第一行是一个整数t,表示列车到达目的地后需要检修t分钟才能再次出发
  • 此外,使用高铁调度系统执行的激励结果也说明了这一结论。 此外,在一定的容量要求下,本文针对高铁时间表中不同速度组合计算出合理的关键列车比率。 该研究表明(1)低速(B级)火车是高铁时间表中的关键火车,(2...
  • 对于具有多个枢纽站的列车编组调度模型,以“相邻节点”作为连接列车的选择范围,并基于有向图建立了列车编组的优化模型。 。 为了满足连续性,提出了一种改进的优先级解码方法,该方法适用于火车成对运行的任何...
  • 安全责任,重于泰山规章细则...同时将停车地点公里标、停车原因和故障地点公里标,向车站值班员(列车调度员)报告,车站值班员报告列车调度员,动车列车随车机械师应根据故障信息记录,及时向司机反馈故障情况等信...
  • 1257 最少拦截系统

    2018-06-05 13:39:14
    列车调度是一模一样的https://blog.csdn.net/u014302425/article/details/79981435#贪心的理解就不再重复了,两道题就是完全一样的,换了种描述,将列车调度的代码加上一个循环(不止一测试数据)就能AC了#这里用C++...
  • 火车出站

    2019-06-29 18:49:00
    铁路进行列车调度时,常把站台设计成栈式结构的站台,试问:设有编号为1到n的n辆列车,顺序开入栈式结构的站台,则可能的出栈序列有多少种? 输入 输入包含多测试数据。每为一个正整数n(1<=n<=20),...
  • 问题 C: 火车出站

    2019-06-17 14:38:09
    铁路进行列车调度时,常把站台设计成栈式结构的站台,试问: 设有编号为1到n的n辆列车,顺序开入栈式结构的站台,则可能的出栈序列有多少种? 输入 输入包含多测试数据。每为一个正整数n(1<=n<=20),...
  • 火车进站

    2019-06-05 17:02:34
    铁路进行列车调度时,常把站台设计成栈式结构的站台,试问: 设有编号为1到n的n辆列车,顺序开入栈式结构的站台,则可能的出栈序列有多少种? 输入 输入包含多测试数据。每为一个正整数n(1<=n<=20),...
  • 火车出站问题(卡特兰数)

    千次阅读 2019-06-14 17:10:24
    铁路进行列车调度时,常把站台设计成栈式结构的站台,试问: 设有编号为1到n的n辆列车,顺序开入栈式结构的站台,则可能的出栈序列有多少种? 输入 输入包含多测试数据。每为一个正整数n(1<=n<=20),...
  • 列 车 通 信 1、预备知识: 列车无线调度系统的功能较为强大,它既可以完成火车站(不仅仅指大站,也包括火车可能根本不停靠的小站)同在其附近运行的列车之间的无线通信,也可以完成某个调 度区段的调度员(这...
  • 仲恺acm 1095:火车出站【java】

    千次阅读 2016-01-03 09:14:23
    铁路进行列车调度时,常把站台设计成栈式结构的站台,试问: 设有编号为1到n的n辆列车,顺序开入栈式结构的站台,则可能的出栈序列有多少种? 输入格式 输入包含多测试数据。每为一个正整数n(1 输出 输出...
  • 火车出栈问题

    千次阅读 2018-06-28 17:08:04
    题目描述铁路进行列车调度时,常把站台设计成栈式结构的站台,试问:设有编号为1到n的n辆列车,顺序开入栈式结构的站台,则可能的出栈序列有多少种?输入输入包含多测试数据。每为一个正整数n(1&lt;=n&...
  • 火车出站(卡特兰数)

    2021-02-02 17:51:15
    铁路进行列车调度时,常把站台设计成栈式结构的站台,试问: 设有编号为1到n的n辆列车,顺序开入栈式结构的站台,则可能的出栈序列有多少种? 输入 输入包含多测试数据。每为一个正整数n(1<=n<=20),...
  • 1095 火车出站 DFS

    2018-09-02 13:44:25
    铁路进行列车调度时,常把站台设计成栈式结构的站台,试问: 设有编号为1到n的n辆列车,顺序开入栈式结构的站台,则可能的出栈序列有多少种? 输入 输入包含多测试数据。每为一个正整数n(1&lt;=n&lt;...
  • 铁路进行列车调度时, 常把站台设计成栈式结构的站台。试问: 设有编号为1,2,3,4,5,6的六辆列车, 顺序开入栈式结构的站台, 则可能的出栈序列有多少种? 本题题意是,给定一入栈顺序,可在任意时刻任意出栈...
  • G1282/G1283次是一列由成都东站到沈阳北站的高速动车组列车, 全程2556公里,运行时间14小时7分。 发车时间为09:06分,到站时间为23:13分。 列车在成都东—天津西区段为G1282次, 在天津西—沈阳北区段

空空如也

空空如也

1 2
收藏数 35
精华内容 14
关键字:

列车调度组