题目描述

输入

输出

样例

样例输入


样例输入一


样例输入二

样例输出

样例输出一

9

样例输出二

1008

一句话题意:给你一个车厢和一些人,这些人都坐在座位上,求这些人全部出去的时间最小值。

分析

我们先拿最简单的情况来说:车厢中只有一个人,比如下面这幅图

那么很显然,他到达出口所需要的花费步数为5+1=6

是不是太简单了,那我们再加一个人

那么新加的这个人到出口所需要的步数为2+2=4

因为6大于4,所以在第一个人到达距离出口的步数为2的地方时,第二个人已经从出口离开车厢,不会对结果造成影响

最终答案仍为6

那么我们再加一个人

第三个人到达出口所需要的时间为1+1=2

因为2、4、6都不相等,所以此时最终答案仍然为6

这时,我们要加一个最为关键的人——四号

我们会发现4号到达出口的时间和1号一样都为6

这时,问题就来了,1号和4号显然不能同时走出车厢,而他们走出车厢的最小步数又都为6

所以,1号和4号必定有一个人需要停留一步,在下一步时再排到另一个人的后面

这时,因为有了停留的这一步,最大步数就变成了6+1=7

我们再加一个人,把最后一种情况考虑到

5号到达门口需要的最少步数为2+5=7,那么他能不能在第七步时走出车厢呢

答案是不能的,因为前面的1号和4号都需要走六步才能到达出口

1号和4号中必定有一个人会花费7步,这时会与5号的7步相冲突

所以5号又要推迟一步,变成8步

同样的我们再加一个人

6号需要的步数也为7,所以5号又要推迟一步,变为9步

最后我们再把剩余的一个人加上

他的步数为5步,所以不会对结果产生影响

所以样例一的最终答案为9步

代码

知道了思路,下一步就是代码实现了

我们要先处理出每一个人到达出口的最小步数,然后排一下序

最后我们由大到小遍历,如果遇到相同的就把步数往后推一个

需要注意的是,数组要开500*500*2,不要开小了

 #include<cstdio>
#include<algorithm>
#include<iostream>
#include<cstring>
using namespace std;
const int maxn=;//数组不要开小了
int r,s,p;
int jl[maxn];
int solve(int bb){
if(bb<=s) return s-bb+;
else return bb-s;
}
int main(){
scanf("%d%d%d",&r,&s,&p);
for(int i=;i<=p;i++){
int aa,bb;
scanf("%d%d",&aa,&bb);
jl[i]=r-aa++solve(bb);//求出每个节点到出口的最小步数
}
sort(jl+,jl++p);//排序
int ans=-,cnt=;
for(int i=;i<=p;i++){
if(jl[i]==cnt || ans>=jl[i]) ans++;
//如果出现相同的或者是当前的最大步数大于等于该节点的步数,步数往后推移一步
//这里的当前的最大步数大于等于该节点的步数说明之前一定遍历到了比jl[i]更小的节点
//而且该节点被遍历了两次及以上,这时我们也需要把ans++
else ans=max(ans,jl[i]);//不相同取较大值
cnt=jl[i];//记录上一个元素
}
printf("%d\n",ans);
return ;
}

Problem C Emergency Evacuation 一道思维题的更多相关文章

  1. hdu2094—看似拓扑实际上是一道思维题

    HDU2094  产生冠军 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2094 题意:中文题,就不解释了.题意已经非常清楚了. 这道题的看起来像是一 ...

  2. Report,又是一道思维题

    题目: Each month Blake gets the report containing main economic indicators of the company "Blake ...

  3. 一道思维题 &&递归改循环

    思路: 比如5 2 12345--> 1245 从3开始,这时候5变成了1.剩下4512,对应1234.只需要找到现在n-1,k中的数对应原来的编号的映射. 比如1-->3 是1+2 mo ...

  4. CodeForces - 1102A(思维题)

    https://vjudge.net/problem/2135388/origin Describe You are given an integer sequence 1,2,-,n. You ha ...

  5. BZOJ4401: 块的计数 思维题

    Description 小Y最近从同学那里听说了一个十分牛B的高级数据结构——块状树.听说这种数据结构能在sqrt(N)的时间内维护树上的各种信息,十分的高效.当然,无聊的小Y对这种事情毫无兴趣,只是 ...

  6. CodeForces - 631C ——(思维题)

    Each month Blake gets the report containing main economic indicators of the company "Blake Tech ...

  7. 7月15日考试 题解(链表+状压DP+思维题)

    前言:蒟蒻太弱了,全打的暴力QAQ. --------------------- T1 小Z的求和 题目大意:求$\sum\limits_{i=1}^n \sum\limits_{j=i}^n kth ...

  8. 又一道简单题&&Ladygod(两道思维水题)

    Ladygod Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit S ...

  9. zoj 3778 Talented Chef(思维题)

    题目 题意:一个人可以在一分钟同时进行m道菜的一个步骤,共有n道菜,每道菜各有xi个步骤,求做完的最短时间. 思路:一道很水的思维题, 根本不需要去 考虑模拟过程 以及先做那道菜(比赛的时候就是这么考 ...

随机推荐

  1. Zabbix 邮箱告警(Python脚本)

    Python 脚本内容 #!/bin/env python #coding:utf- import smtplib from email.mime.text import MIMEText from ...

  2. 华为EMUI在service中不能打印debug级别的日志

    华为emui在service里面不能打印debug级别的日志,因为这个小问题调试了一上午,刚开始我还以为emui把系统service的启动流程都改了呢

  3. 移动UI系列 - 简单地使用半衰期算法来预测手势的滑动方向与速度

    前言 有一个问题, 给定一个物体的运动轨迹, 包含时间和坐标的数组, 如何使用这个数据来预测物体未来的运动走势?? 本文提供了一个很简单的方式去实现这个算法. 效果够用, 又简单, 有一定的准确程度. ...

  4. mysql 大表mysqldump迁移方案

    场景 一张历史表product_history 500万数据,凌晨的才会将正式表的数据迁移到历史表,此次需求将历史表迁移到一个更便宜的数据库实例进行存储. 条件 1.此表不是实时写,凌晨才会更新 2. ...

  5. 实验五shell脚本编程

    项目 内容 这个作业属于哪个课程 <班级课程的主页链接> 这个作业的要求在哪里 作业要求链接地址 学号-姓名 17043220-万文文 作业学习目标 1)了解shell脚本的概念及使用.2 ...

  6. 【百度前端技术学院 Day7/8】布局

    1. 定位 1.1 文档流 单个元素: 块级元素:内容宽度是其父元素的宽度的100%,并且与其内容一样高. 内联(行内)元素:高宽与他们的内容高宽一样.(所以不能为他们设置宽高) 元素之间的交互: 块 ...

  7. CSS布局之Flex布局

    Flex布局,可以简便.完整.响应式地实现各种页面布局. 浏览器支持:得到所有浏览器的支持.(注:Flex布局将成为未来布局的首选方案)   一. Flex布局的概念 Flex是Flexible Bo ...

  8. 使用python求解向量值函数的雅各比(Jacobian)矩阵

    考虑一个向量值函数$R^m \rightarrow R^n$,即$\textbf{y} = f(\textbf{x})$,它的雅各比(Jacobian)矩阵定义如下. 下面记录下一段使用python求 ...

  9. VNC连接cnetos图形化界面

    VNC连接cnetos图形化界面 Linux系统在服务器上一般都直接最小化安装,是不安装图形界面的,但是有时候,有一些特殊情况,需要使用图形界面,而下面就利用VNC来实现类似windows的远程桌面功 ...

  10. Windows 10 WSL 2.0安装并运行Docker

    在Windows 10 2004版本,微软更新WSL到了2.0,WSL 2.0已经拥有了完整的Linux内核!今天来测试一下,是否可以安装docker!  一.开启WSL 以管理员运行Powershe ...