列车调度(两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道.)

题目要求:
火车站的列车调度铁轨的结构

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

还是先说我的想法,一开始,想的太复杂了,其实没有那么难。找对思路,没有题是难的。

一开始我想到一种情况,就是序号最高的车占用一条轨道之后,他最先调离,所以这条轨道空了。和其他序号的车情况不一样,因为其他序号的车,进入轨道之后,就停了。但后来,证明我的这种想法完全多余。

因为,最高序号的车必定需要开拓一条轨道,它后面还有车的话,也就进入了这条轨道,和其他情况一样;后面没车的话,那也占用了一条轨道,也和其他车一样。QwQ。

唉,真是,想的越多,不如看优秀代码看得多。

思路:
我们需要尽量减少加轨道条数,也就是新的火车最好能到一条路线的末尾排着,而为了之后的顺序输出,一条轨道上后面的车需要比前面的编号小,这就产生了选择问题。

选择时,需要轨道中最后进入的车的序号大于插入的序号。这时候,比如轨道一:5号;轨道二:8号;需要插入一个4号,当然这两个都能插。但是如果插到8后面,那4和8之间的数(6、7)就只能再来一条轨道;插到5后面的话,6、7就可以到8后面。
所以,插入的时候,是插入到大于该序号且其中最小的序号后面的。。。不知道说没说明白。

代码如下:

#include<iostream>
using namespace std;
int main(){
	int n;
	cin>>n;
	int root[n];
	int len = 0;
	int k;
	while(n--){
		cin>>k;
		if(len == 0 || root[len-1] < k){
			root[len++] = k;
		}else{
			//折半查找法 
			int one = 0,two = len-1;
			while(one < two){
				int mid = one + (two-one)/2;
				if(root[mid] > k){
					two = mid - 1;
				}else{
					one = mid + 1;
				}
			}
			root[one] = k;
		/*	//普通 顺序 查找,因为排列是按顺序的,所以也可以按顺序查找,但是当数据过多时,容易超时 
			for(int i=0;i<=len-1;i++){
				if(root[i] > k){
					root[i] = k;
					break;
				}
			}
		*/
		}
	}
	cout<<len;
	return 0;
} 

其中有一段折半查找法,是因为(2 ≤ N ≤10 ​5 ​​),数据过多时,且排好序时,这种方法优选。另一种按顺序查找的会超时。

好了,以上就是今天的全部内容,咱们下期再见。

一个集坚强与自信于一身的菇凉。

  • 22
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
### 回答1: 这是一个火车站的列车调度铁轨的结构图,两端分别是一个入口entrance轨道和一个出口exit轨道,它们之间有n平行的铁轨。每趟列车从入口可选择任意一条轨道进入,最后从出口离开。在图中有...(缺少信息) ### 回答2: 这个问题看上去很简单,但实际上涉及到列车调度这一领域内的一些基本概念和算法。我们先来看看问题的具体内容。 这个火车站的铁路结构是一个入口轨道和一个出口轨道之间共有n平行轨道。每趟列车从入口处可以选择进入任意一条轨道,最终从出口处离开。问题要求找出如何安排列车的进出,使得列车的进出时间最短。 首先,我们需要了解一些列车调度领域的基本概念。列车调度是指为了最大化铁路的利用效率,对多辆列车进行排队、进站、离站、交叉避让等操作的一种管理方法。列车调度的基本问题是如何使列车能够以最大的速度、最短的时间、最少的资源等件完成任务,也就是一个列车调度问题需要解决的基本问题。 在这个问题中,我们需要用到一种叫做“进口场”的调度方法。进口场是一种通过限制列车的进入和出入口的方式来控制调度速度和时间的方法。具体来说,对于这个问题,我们可以将铁路结构看做一个入口场和出口之间的一个通道,通过对进口和出口的限制,来控制列车的调度速度和时间。 在进口场中,列车需要排队等待,并选择一个最佳的进入轨道。这个最佳是根据列车的实时件和已有信息进行综合判断得出的。列车选择进入哪个轨道是一个非常重要的决策,需要考虑列车的行驶速度、车长、载重等因素,还需要利用电子控制和信号灯等手段对列车进行控制和限制。 在出口场中,我们需要进行相应的调度,让列车能够尽快离站。这个调度可以通过对列车的路线、速度、停车等行为进行控制和指挥来实现。同时,还需要考虑列车的优先级、长度、重量等因素,避免不必要的拥堵和延迟。 综上所述,火车站的列车调度铁轨结构看似简单,但实际上是一个复杂的调度问题。解决这个问题需要掌握列车调度领域的基本概念和算法,同时需要深入理解列车的运行机制和技术特点,对列车的行为进行精细调度和指挥。 ### 回答3: 火车站的列车调度铁轨结构是为了方便火车进出站而设计的。它通常由几平行轨道组成,两端分别有入口轨道出口轨道。从入口轨道进入后,火车可以选择任何一条平行轨道,并在其中行驶,最终到达出口轨道离开站点。 这种铁轨结构的主要优点在于,它能够提高火车站的运行效率和调度能力,同时还便于管理车辆。这样铁路局可以通过多平行轨道同时调度货车、客车,最大限度地利用站点所提供的运输资源,同时提高站点的处理能力。 当然,在使用这种铁轨结构的过程中,必须注意安全问题。每次车辆进站前,都必须经过检查与确认;管制人员也应该密切关注轨道情况,确保每轨道的的使用安全性和时间的分配合理性。在尽可能保证安全的情况下,这种铁轨结构确实可以给铁路运输带来很大的便利和效益。 总的来说,火车站的列车调度铁轨结构是一种经过充分设计的铁路运输模式,它在增加调度效率和提高站点运行能力的同时,也需要保证安全和稳定性。相信在未来的发展中,这种铁轨结构也会继续发挥其优势,更好地为人们的运输需求提供支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淡雅的惆怅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值