精华内容
下载资源
问答
  • 算法:列车调度(Train)
    2021-05-24 02:10:12

    限制

    1 ≤ n ≤ 1,600,000

    0 ≤ m ≤ 1,600,000

    时间:2 sec

    空间:256 MB

    解题思路:

    1、先将序列扫描到一个数组num。从1-n挨个进栈,如果进栈数i == num[j],i出栈。

    2、i出栈以后,判断下一个数num[j++],这时要先判断stack[top]是否等于它。如果相等,栈顶值出线,j++,再判stack[top]是否等于num[j++]  ……。

    具体代码如下:

    #include

    //#include

    #define N 1600001

    int stack[N];

    int num[N-1];

    int out[2 * N];// 1-push;0-pop

    int main()

    {

    int n, m;

    scanf("%d %d", &n, &m);

    for (int i = 0; i < n; i++)

    scanf("%d", &num[i]);

    int flag = 1;// 1-可行;0-no

    int k = 0;// out的下标

    int top = 0;// stack的下标

    for (int i = 1,j = 0; i <= n && j < n; i++)

    {

    if (top < m) {

    out[k++] = 1;

    stack[top++] = i;

    } else {

    flag = 0;

    break;

    }

    if (i == num[j]) {

    j++;

    stack[--top] = 0;

    out[k++] = 0;

    while (top > 0 && stack[top - 1] == num[j]) {

    j++;

    stack[--top] = 0;

    out[k++] = 0;

    }

    }

    }

    if (flag == 0 || top != 0) printf("No\n");

    else

    {

    for (k = 0; k < 2 * n; k++)

    {

    if (out[k] == 0) printf("pop\n");

    else if (out[k] == 1) printf("push\n");

    }

    }

    //system("pause");

    return 0;

    }

    更多相关内容
  • PTA列车调度C语言版

    2019-12-30 12:35:30
    火车站的列车调度铁轨的结构如下所示。 两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在中有9趟列车,在...
  • 铁路列车调度指挥系统(Train Operation Dispatching Command System,简称TDCS)原名为铁路运输调度指挥管理信息系统(Dispatch Management Information System,简称DMIS)。它是实现铁路各级运输调度对列车运行实行...
  • 列车调度

    2021-05-26 03:09:30
    火车站的列车调度铁轨的结构如下所示:两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在中有9趟列车,在入口处...

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

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

    输入格式

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

    输出格式

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

    输入样例

    9

    8 4 2 5 3 9 1 6 7

    输出样例

    4

    此题考查的是贪心+二分,核心在于序号小的跟在序号最接近自己且比自己大的列车后面,下面分析来源于参考链接1:

    下面是4条用来调度的轨道:

    1248                            1248

    35       ---------------->     35

    9                                  7

    6                                  6

    当前轨道数len=0

    首先8进接着4可以跟在8后面,然后是2。

    len=1

    现在第一条轨道最后的是2,5肯定不能排在2后面,因为5要比2先出去。所以5进入第二条轨道。现在的状态:(只记录排在轨道最后面的列车)

    2

    5

    len=2

    轮到3,3可以排在5后面。

    2

    3

    9比3和2都大,只能进入新的轨道

    2

    3

    9

    len=3

    1比2,3都小,贪心选择,选最接近的2。于是1进入当前第一条轨道

    1

    3

    9

    len=3

    6比2,3大

    1

    3

    6

    7比1,3,6都大

    1

    3

    6

    7

    len=4

    接着按顺序出去就OK了

    代码如下:

    #include

    using namespace std;

    int main(){

    int n;

    int num[100001];

    int len=0;

    int k;

    cin >> n;

    while(n--) {

    cin >> k;

    if(len==0||num[len-1]

    num[len++]=k;

    }

    else{ //若存在轨道最后一个数大于当前数,利用二分法去最优轨道(轨道最后一个数与当前数的差值最小)

    int l=0;

    int r=len-1;

    int mid;

    sort(num,num+len); //保证每个轨道的最后一个数按照从小到大排列

    while(l

    mid=(l+r)/2;

    if(num[mid]>k) r=mid-1;

    else l=mid+1;

    }

    num[l]=k;

    }

    }

    cout << len << endl;

    return 0;

    }

    展开全文
  • 列车调度的优化模型

    2020-01-26 15:43:58
    列车调度的优化模型,曹命凯,黄渝桂,本文主要研究铁路列车优化调度问题。京沪铁路线采用上行线与下行线独立双线运行,所以本文只研究单行线(上行线的运行情况代替全
  • 画出列车运行,给出列车运行的最佳调度(python代码)
  • 可以生成列车运行,希望能够帮助到大家~~~
  • 铁路列车调度指挥系统(TrainOperationDispatchingCommandSystem,简称TDCS)。TDCS是实现铁路各级运输调度对列车运行实行透明指挥、实时调整、集中监控的现代化信息系统。
  • PTA 列车调度 python

    2022-03-18 15:10:36
    火车调度PTA python实现 两端分别是一条入口...在中有9趟列车,在入口处按照{8,4,2,5,3,9,1,6,7}的顺序排队等待进入。如果要求它们必须按序号递减的顺序从出口离开,则至少需要多少条平行铁轨用于调度

    7-10 列车调度 (25 分)

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

    两端分别是一条入口(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

    有点二分查找,逆序的感觉

    初见有种求逆序数的感觉,但其实逆序不一定就会新增轨道,若存在末尾序号大于检查序号,则不增加,否则,增加轨道数。

    好像_bisect没有bisect方法,bisect模块才有

    import bisect
    
    def In():
        N=int(input())
        No=[int(i) for i in input().split()[:N]]
        a=[No[0]]
        for i in No[1:]:
            index=bisect.bisect(a,i)
            if index<len(a):
                a[index]=i
            else:
                a.append(i)
        return len(a)
            
            
    
    print(In())
    

     

    展开全文
  • 题目链接:https://pintia.cn/problem-sets/1045870129681440768/problems/1045870197130047495#p-2题目大意:给你一列火车,上面有表号,问给你几个火车隧道,能使车厢从大到小。一道有思维结构的模拟题。...

    题目链接:https://pintia.cn/problem-sets/1045870129681440768/problems/1045870197130047495#p-2

    题目大意:给你一列火车,上面有表号,问给你几个火车隧道,能使车厢从大到小。

    一道有思维结构的模拟题。

    先说一下核心解体思想:就是一个序列里,有多少个从大到小排好序的序列,求个数。

    朴素的模拟思想,先读入一个数组,从头到尾判断,含有多少个,从大到小的序列,用used数组标记使用,但是这种做法会超时。

    这里先给出错误代码:

    #include

    using namespace std;

    const int INF=1e6+10;

    const int maxn=100000+10;

    int a[maxn];

    int main()

    {

    int n; scanf("%d",&n);

    for(int i=0;i

    int num=n,exnum=0;

    while(num>0)

    {

    bool flag=true;

    int t;

    for(int i=0;i

    {

    if(a[i]!=INF)

    {

    if(flag)

    {

    num--;

    exnum++;

    t=a[i];

    a[i]=INF;

    flag=false;

    }

    else if(a[i]

    {

    t=a[i];

    a[i]=INF;

    num--;

    }

    }

    }

    }

    printf("%d\n",exnum);

    return 0;

    }

    超时之后开始简化自己的思想,再网上看到了二分思想A题,但总感觉还有更为简单的方法。

    想来想去最后使用的,使用数组储存最一个隧道末尾数字的大小+二分;

    下面给出AC代码,代码下面有一些具体解释:

    #include

    using namespace std;

    const int INF=1e6+10;

    const int maxn=100000+10;

    int a[maxn];

    int main()

    {

    int n; scanf("%d",&n);

    int len=1;

    for(int i=0;i

    {

    int t; scanf("%d",&t);

    if(i==0) a[0]=t;

    else

    {

    if(t>a[len-1])

    {

    a[len++]=t;

    }

    else

    {

    int pos=lower_bound(a,a+len,t)-a;

    //cout<

    a[pos]=t;

    }

    //sort(a,a+len);

    }

    }

    printf("%d\n",len);

    return 0;

    }

    可能会有疑问,lower_bound二分函数,只有在数组排好序的时候才能使用,但是代码中的排序函数是被注释掉的,而且去掉注释会超时,但是仔细想想就会知道,我们用来每次更新火车隧道末尾数字的时候,总是选择的跟他的值差距最小的(因为lower_bound函数总是找到的是第一个值),这个过程中可以保证数组是从小到大排好的,从而省略掉了排序的函数。

    展开全文
  • 列车调度指挥和调度集中系统.ppt
  • 天梯赛 列车调度

    2020-11-13 20:50:40
    火车站的列车调度铁轨的结构如下所示。 两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在中有9趟列车,在...
  • L2-014 列车调度 解析参考:PTA 7-13 列车调度(二分查找) 最初没有看出列末数字的有序性,做了模拟,超时21分 正确做法是二分 模拟代码: #include<bits/stdc++.h> using namespace std; const int N=...
  • 列车调度 堆栈 python

    2019-07-10 22:29:23
    列车调度描述题目分解1.全排列2.判断合法输出序列3.S容量小于A的情况,输出合法出栈序列4.输出操作5.输出操作完整可运行代码 描述 描述 某列车调度站的铁道联接结构如Figure 1所示 其中,A为入口,B为出口,S...
  • 列车调度问题

    2021-05-11 23:51:55
    我们国家大力发展道路交通基础设施,最近这些年修建了大量的高铁线路,以促进国内的物资运输和调配,ZZ是一个超级货运站,是连接亚欧货运的枢纽站,现在ZZ货运站列车调度铁轨的结构如下所示。 两端分别是...
  • 火车通过一个栈式的列车调度站,可能得到的调度结果有哪些?如果 有n 列火车通过调度站,请设计一个算法,输出所有可能的调度结果。
  • 机器学习在铁路列车调度调整中的应用综述.pdf
  • 火车站的列车调度铁轨的结构如下所示。两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在中有9趟列车,在入口...
  • C/C++列车调度规划系统 问题描述; l.管理员可以添加、修改、删除个交通路线信息。 2.普通用户可以检票从某一地点到另一地点的信息,提供查询转车次数最少、花费最少、所用时间最少的相关信息。 功能需求; l.管理员和...
  • 为了落实运行及编组方案,保证运输秩序的正常运转,及时处理所辖区段内的突发情况,列车调度员代表铁道部或路局面向基层运输站段下达的书面命令,称之为调度命令。一、发布行车调度命令的原则1.指挥列车运行的命令...
  • PTA【列车调度】Java

    2021-01-10 11:30:08
    火车站的列车调度铁轨的结构如下所示。 两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在中有9趟列车,在...
  • 重启c语言—列车调度

    千次阅读 2020-04-24 15:28:47
    火车站的列车调度铁轨的结构如下所示。 两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在中有9趟列车,在...
  • 列车调度问题PTA

    千次阅读 2018-12-25 21:52:58
    火车站的列车调度铁轨的结构如下所示。 两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在中有9趟列车,在...
  • 火车站的列车调度铁轨的结构如下所示。 两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在中有9趟列车,在...
  • 关于用matlab模拟的列车调度问题,通过做的仿真,很好的实现了这一环节
  • 列车调度 (25 分)

    2021-04-14 00:04:37
    火车站的列车调度铁轨的结构如下所示。 两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在中有9趟列车,在...
  • TB∕T 3203-2008 列车调度指挥系统、调度集中系统组网技术条件
  • 列车调度指挥复习提纲.doc

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,351
精华内容 1,340
关键字:

列车调度图