列车调度 思路解析

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

列车调度 思路解析

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

输入格式:

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

输出格式:

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

输入样例:

9
8 4 2 5 3 9 1 6 7

输出样例:

4

解析:
    先将输入的第一个序号放到set中
    注意set中保存的是每个铁轨中序号最小的列车号 
    这样的意义在于,如果接下来输入的列车序号有比它还小的,那么他们就可以在同一铁轨中排着队
    对应的操作是:更新 对应铁轨中最小的列车序号
    接着输入数据,如果在set中找不到比输入列车序号小的,那就要新建铁轨,即向set中添加一个新的记录 
    最后,set中数据的个数,对应着所需铁轨的条数 


编译器 C++ (g++)

#include<stdio.h>
#include<set>
using namespace std;
int main()
{
	int n,num;
	scanf("%d %d",&n,&num);
	set<int> s;
	s.insert(num);
	for(int i=1;i<n;i++) 
	{
		scanf("%d",&num);
		if(s.lower_bound(num)!=s.end()){
			s.erase(s.lower_bound(num));
		}
		s.insert(num);
	}
	printf("%d",s.size());
	return 0; 
} 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159406.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 浅聊:ES6模板字符串与一般字符串

    浅聊:ES6模板字符串与一般字符串一.模板字符串与一般字符串区别二.模板字符串的一些注意事项一.模板字符串与一般字符串区别1,认识模板字符串:’xiaozhang’ //一般字符串`xiaozhang` //模板字符串(用两个反引号裹着)constusername1=’xiaozhang’;constusername2=`xiaozhang`;console.log(username1,username2,usern..

    2022年8月21日
    17
  • pytorch学习笔记(十):MLP[通俗易懂]

    pytorch学习笔记(十):MLP[通俗易懂]文章目录1.隐藏层2.激活函数2.1ReLU函数2.2sigmoid函数2.3tanh函数3多层感知机4.代码实现MLP4.1获取和读取数据4.2定义模型参数4.3定义激活函数4.4定义模型4.5定义损失函数4.6训练模型小结1.隐藏层多层感知机(multilayerperceptron,MLP)在单层神经网络的基础上引入了一到多个隐藏层(hiddenlayer)。隐藏层位于输入层和输出层之间。图3.3展示了一个多层感知机的神经网络图,它含有一个隐藏层,该层中有5个隐

    2022年6月16日
    34
  • fpga学习——zynq图像处理中的DVP流接口封装

    fpga学习——zynq图像处理中的DVP流接口封装之前文章介绍了基于zynq的图像处理架构问题。其中,作为开发者,需要重点关注图像传感器接口、处理算法、显示接口,这些模块。现在我们一同学习用于视频数据接口的DVP模块,并将其封装成AXI-stream接口便于直接和VDMAIP通信。DVP_AXIstreamIPv1.0使用说明1.设计概述•用于cmos传感器视频数据采集,将cmos输出的8位视频数据拼接成RGB565模式•AXI_stream主机接口,用于和PS端内存的数据交互•基于vivado18.3软件设计2.模块分析

    2022年5月31日
    75
  • 字符串常量池理解「建议收藏」

    字符串常量池理解「建议收藏」在JVM中,为了减少字符串对象的重复创建,维护了一块特殊的内存空间,这块内存就被称为字符串常量池。在JDK1.6及之前,字符串常量池存放在方法区中。到JDK1.7之后,就从方法区中移除了,而存放在堆中。以下是《深入理解Java虚拟机》第二版原文:对于HotSpot虚拟机,根据官方发布的路线图信息,现在也有放弃永久代并逐步改为采用NativeMemory来实现方法区的规划了,在目前已经发布的…

    2022年7月28日
    2
  • 使用Sigar包获取操作系统信息[通俗易懂]

    使用Sigar包获取操作系统信息[通俗易懂]项目中的一个需求是获取操作系统的相关信息,可以收集的信息包括:1,CPU信息,包括基本信息(vendor、model、mhz、cacheSize)和统计信息(user、sys、idle、nice、wait)2,文件系统信息,包括Filesystem、Size、Used、Avail、Use%、Type3,事件信息,类似ServiceControlManager4,内存信息

    2025年7月6日
    5
  • 国内可用的ntp服务器地址

    国内可用的ntp服务器地址ntp.sjtu.edu.cn202.120.2.101(上海交通大学网络中心NTP服务器地址)s1a.time.edu.cn 北京邮电大学s1b.time.edu.cn 清华大学s1c.time.edu.cn 北京大学s1d.time.edu.cn 东南大学s1e.time.edu.cn 清华大学s2a.time.edu.cn 清华大学s2b.time.edu.c

    2022年6月6日
    87

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号