团体程序设计天梯赛-练习集 - L2-014 列车调度(25 分)

简介: 团体程序设计天梯赛-练习集 - L2-014 列车调度(25 分)

题目链接:点击打开链接

题目大意:略。

解题思路:必须要车号大的先出,小的后出。所以列车排队的每一队必须是从大到小排列(从右往左看),才能保证开出去的车也是从大到小的。

对于每一个想要进入并列铁轨的车:

如果车号大于每一队的队尾的车号,说明不能进入已经有的队伍,必须进入新的铁轨;

否则,选择一个最接近它车号的尾部车号的队伍进入。

其实无需保存每一个并行队列的所有值,只需要保存当前队伍的车尾(就是每一列最左边 即 每一列的最小值)即可。

因为每一次都是需要排序比较大小的,所以用set自动排序。

首先把set里面放入一个0值。每一次set的最后一个值s.rbegin()都是当前所有队列队尾的最大值。

如果当前想要进入排队队伍的t值比集合里面最大值小,就移除第一个比他大的值,然后把t插入集合中。表示的是将t值插入了最接近它车号的队伍的队尾;

否则就直接插入进去t值。作为新的队伍。


AC 代码

#include<bits/stdc++.h>#include<cmath>#define mem(a,b) memset(a,b,sizeof a)#define ssclr(ss) ss.clear(), ss.str("")#define INF 0x3f3f3f3f#define MOD 1000000007usingnamespacestd;
typedeflonglongll;
set<int>st;
intmain()
{
st.insert(0);
intn,a;
scanf("%d",&n);
for(inti=0;i<n;i++)
    {
scanf("%d",&a);
if(a<*st.rbegin()) st.erase(st.upper_bound(a));
st.insert(a);
    }
printf("%d\n",st.size()-1);
return0;
}
目录
相关文章
|
9月前
|
存储 消息中间件 人工智能
《多模态数据信息提取》解决方案测评
先预示一下,本次测评有福利彩蛋哟,快过年了,喜庆的对联需要吧;大冬天的,保暖触屏手套需要吧;走过路过不要错过。
237 10
|
9月前
|
数据可视化 搜索推荐 数据挖掘
评价:这 6 款软件在电商团队物流协作中表现如何?
在电商行业,高效的团队协作至关重要。本文推荐六款提升团队协作效率的软件:板栗看板、Trello、Asana、Wrike、Monday.com 和 Basecamp。这些软件各具特色,如板栗看板的直观可视化界面和灵活任务管理,Trello 的卡片式任务管理和丰富插件,Asana 的任务层级清晰和自定义工作流程,Wrike 的动态时间跟踪和智能任务分配,Monday.com 的多样化视图模式和自动化工作流程,以及 Basecamp 的集中式信息管理和群组讨论功能。选择合适的软件,能显著提升电商团队的协作效率。
128 6
|
机器学习/深度学习 监控
深度学习中的正则化技术:防止过拟合与提升泛化能力
【8月更文挑战第6天】在深度学习领域,模型的复杂性往往与其性能成正比,但同时也带来了过拟合的风险。本文将深入探讨正则化技术在深度学习中的应用,如何通过这些技术平衡模型复杂度与泛化能力,以及它们对模型性能的具体影响。我们将从理论到实践,分析不同正则化方法的优势和局限,为深度学习研究者和实践者提供指导。
349 10
|
关系型数据库 MySQL 网络安全
有关使用Navicat 无法成功连接腾讯云服务器上Mysql的问题解决
这篇文章提供了解决Navicat无法连接腾讯云服务器上MySQL问题的步骤,包括调整防火墙设置、更新MySQL权限和检查远程连接配置。
有关使用Navicat 无法成功连接腾讯云服务器上Mysql的问题解决
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的互联网专家服务平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的互联网专家服务平台附带文章源码部署视频讲解等
102 1
|
12月前
|
XML JSON JavaScript
R JSON 文件
JSON: JavaScript Object Notation(JavaScript 对象表示法)。
169 29
|
运维 Docker 微服务
深入浅出:使用Docker容器化部署微服务架构
在当今快速演进的软件开发领域,微服务架构因其灵活性和可扩展性而成为了企业级应用的首选。然而,部署和管理众多微服务的复杂性也随之增加。本文将探讨如何通过Docker容器技术简化微服务架构的部署和运维,实现服务的快速交付和高效管理。我们将从Docker的基本概念入手,逐步深入到如何构建、部署和管理容器化的微服务,最终展示一个简单的微服务应用部署案例,帮助读者理解并掌握使用Docker容器化部署微服务的全过程。
|
Swift
swift 闭包简写实际参数名$0、$1等理解
swift 闭包简写实际参数名$0、$1等理解
309 0
CSS3新增属性之圆角、盒阴影、字阴影
CSS3新增属性之圆角、盒阴影、字阴影
|
运维 SpringCloudAlibaba Kubernetes
第四个专栏,Kubernetes云原生实战,它来了~
第四个专栏,Kubernetes云原生实战,它来了~
165 1