Emergency Evacuation,题解】的更多相关文章

The Japanese government plans to increase the number of inbound tourists to forty million in the year 2020, and sixty million in 2030. Not only increasing touristic appeal but also developing tourism infrastructure further is indispensable to accompl…
ICPC 2018 亚洲横滨赛 C Emergency Evacuation 题目大意 你一个车厢和一些人,这些人都坐在座位上,求这些人全部出去的时间最小值 Solution 题目咋说就咋做 直接模拟 我们考虑每个人的路线,如果这两个人在没有阻挡的情况下,到达终点的时间是一样的话,那么必定会在某一点相遇. 此时就需要有一个人要等一个时刻,如果有第三个人的话,这第三个就要等两个时刻,那么我们直接算出每个人到终点的时间,排序后依次后延即可. #include <cstdio> #include &…
题目: 题意: 在某一秒,每个人可以进行一个移动:去旁边座位,去过道,在过道向出口走,求最少多少秒可以让所有人离开(具体如图和样例). 分析: 首先,我们先考虑简单的,只考虑出口前有什么事件发生:1.这一秒有人出出口,2.这一秒没人出出口. 而如果有人出出口,一定是一个人(注意重音,在第二个一上),所有有人出出口的秒数就是人数,而没人出出口的秒数便是我们要求的秒数. 怎样才会没人出出口呢?如果过道里一人挤着一人,那必定是每秒都有人出出口,而一但中间有空缺,这一秒就不会有人出出口,所有我们只需算出…
题目 Fires can be disastrous, especially when a fire breaks out in a room that is completely filled with people. Rooms usually have a couple of exits and emergency exits, but with everyone rushing out at the same time, it may take a while for everyone…
题目链接: https://codeforces.com/gym/102082 题意: 在一个客车里面有$r$排座位,每排座位有$2s$个座位,中间一条走廊 有$p$个人在车内,求出所有人走出客车的最短时间 数据范围: $1\leq r\leq 500$ $1\leq s\leq 500$ $1\leq p\leq 2sp$ 分析: 一道全场题,居然想了三个小时,我也是醉了. 解法一:模拟每秒他们的动作.如果有多个人下一秒要走向同一个位置,他们任何一个人走上去都行.重点是,这样的复杂度是$O(s…
http://poj.org/problem?id=3057 题目大意: .为人,D为门,X为障碍,门每秒只能出去一个人,问多少秒出光. 如果无法出光输出impossible. ———————————————— 首先bfs处理出来每个人到每个门的最短距离. 然后枚举时间,将时间与门作为二元组(或者理解为是make_pair也行) 当(当前时间)>=(该人到该门的时间),就把(这个人)与(这个门和当前时间的二元组)连起来. 然后二分图匹配找到匹配数比较和人数相不相等即可. #include<cs…
题意: 给你一个车厢和一些人的位置,这些人都坐在座位上,求这些人全部出去的时间最小值. 注意: 有许多行座位,且每行关于过道对称,出口在过道一端,一个时间只能移动一个单位,且每时刻每个格子只能有一人 思路: 首先这道题不用算法. 然后有三个关键点: 每个人都有各不相同的唯一的一个出车时间. 最长出去的时间是最后一个人出去的时间. 要想最后一个人尽早出去,人们出去的顺序应与初始距离顺序相同. 解释一下第三条: 比如A和B,如果A的距离比B的距离大,那么B一定先到达门口,我们要让B先出.假设让A先出…
题目 大致题意 把指定的人从同一出口送出车外,且同一位置不能同时有两个人,求所需的最短时间. 分析 第一感觉就是利用贪心思想解决问题,但是这道题的数据范围用模拟的话肯定是会爆掉的,所以这是不可取的.我们可以反过来想,把所有人从出口送回原位,然后根据距离进行降序排序,离出口远的人先进,其他人后进,这样就能使时间最小化,得出最优解. 代码 #include <cstdio> #include <iostream> #include <cmath> #include <…
题目描述 输入 输出 样例 样例输入 样例输入一 样例输入二 样例输出 样例输出一 9 样例输出二 1008 一句话题意:给你一个车厢和一些人,这些人都坐在座位上,求这些人全部出去的时间最小值. 分析 我们先拿最简单的情况来说:车厢中只有一个人,比如下面这幅图 那么很显然,他到达出口所需要的花费步数为5+1=6 是不是太简单了,那我们再加一个人 那么新加的这个人到出口所需要的步数为2+2=4 因为6大于4,所以在第一个人到达距离出口的步数为2的地方时,第二个人已经从出口离开车厢,不会对结果造成影…
题目大意 vjudge链接 给你一个车厢和一些人,这些人都坐在座位上,求这些人全部出去的时间最小值. 样例1输入 5 2 71 11 21 32 32 44 45 2 样例1输出 9 样例2输入 500 500 161 11 21 9991 10002 12 22 9992 10003 13 23 9993 1000499 500499 501499 999499 1000 样例2输出 1008 思路 逆向思维,利用贪心. 假设所有人都还没有上车,所以需要把人们从车门处送回原来的位置. 可以把2…