题目名称 | 1238. [Poetize 9] 升降梯上 |
---|---|
输入输出 | updown.in/out |
难度等级 | ★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 10 |
题目来源 | Makazeu 于2012-10-30加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:36, 提交:104, 通过率:34.62% | ||||
op_组撒头屯 | 100 | 0.000 s | 0.00 MiB | C++ |
┭┮﹏┭┮ | 100 | 0.000 s | 0.00 MiB | C++ |
┭┮﹏┭┮ | 100 | 0.000 s | 0.00 MiB | C++ |
┭┮﹏┭┮ | 100 | 0.000 s | 0.00 MiB | C++ |
andy1128 | 100 | 0.022 s | 13.89 MiB | C++ |
蒟蒻苯蒻ovo | 100 | 0.022 s | 15.95 MiB | C++ |
Richard | 100 | 0.024 s | 13.67 MiB | C++ |
落痕 | 100 | 0.030 s | 13.83 MiB | C++ |
梦那边的美好ET | 100 | 0.036 s | 3.39 MiB | C++ |
苏轼 | 100 | 0.048 s | 0.49 MiB | Pascal |
关于 升降梯上 的近10条评论(全部评论) | ||||
---|---|---|---|---|
-1
┭┮﹏┭┮
2023-12-24 19:46
9楼
| ||||
百题留念 这是一道求最短路的题 关键在于建图以及对槽的处理,不过也可以用dp来写,思路启发自洛谷
Richard
2019-07-08 20:28
8楼
| ||||
如果你wa了第一个点,那一定是你没输出-1_(:з」∠)_
| ||||
| ||||
HAHAHAHA,目睹了HSwa了
DK
2019-07-06 14:58
5楼
| ||||
多明显,我的程序最快。
题解 | ||||
题读不懂?语文没学好?OI道路遇到瓶颈?还不快上http://paulinsider.at.ua/news/poetize_9/2012-10-31-20上找题解。。http://paulinsider.at.ua是你最最最满意的解题报告网!
苏轼
2012-10-31 11:48
3楼
| ||||
tim[][]数组启发自“激光电话”,无误
有点贪心的思想启发自“迪杰斯特拉”算法求最短路 tim[i][j]表示到第i层第j档这种状态的最小时间,初值为正无穷,f[i][零档]=0 从0开始扫描时间点并扩展,更新扩展到的点,直到扫描到了结束楼层(扩展到不算),说明已得到最优解。 | ||||
この問題の算法(演算手順、サンポウ、アルゴリズム)はSPFAです。
Makazeu
2012-10-30 16:11
1楼
|
开启了升降梯的动力之后,探险队员们进入了升降梯运行的那条竖直的隧道,映入眼帘的是一条直通塔顶的轨道、一辆停在轨道底部的电梯、和电梯内一杆控制电梯升降的巨大手柄。
$Nescafe$之塔一共有$N$层,升降梯在每层都有一个停靠点。手柄有$M$个控制槽,第$i$个控制槽旁边标着一个数$C_i$,满足$C_1<C_2<C_3<……<C_M$。如果C_i>0,表示手柄扳动到该槽时,电梯将上升$C_i$层;如果$C_i<0$,表示手柄扳动到该槽时,电梯将下降$-C_i$层;并且一定存在一个$C_i=0$,手柄最初就位于此槽中。注意升降梯只能在$1~N$层间移动,因此扳动到使升降梯移动到$1$层以下、$N$层以上的控制槽是不允许的。
电梯每移动一层,需要花费$2$秒钟时间,而手柄从一个控制槽扳到相邻的槽,需要花费$1$秒钟时间。探险队员现在在$1$层,并且想尽快到达$N$层,他们想知道从$1$层到$N$层至少需要多长时间?
第一行两个正整数$N、M$。
第二行M个整数$C_1、C_2……C_M$。
输出一个整数表示答案,即至少需要多长时间。若不可能到达输出-1。
6 3 -1 0 2
19
手柄从第二个槽扳到第三个槽($0$扳到$2$),用时$1$秒,电梯上升到$3$层,用时$4$秒。
手柄在第三个槽不动,电梯再上升到$5$层,用时$4$秒。
手柄扳动到第一个槽($2$扳到$-1$),用时$2$秒,电梯下降到$4$层,用时$2$秒。
手柄扳动到第三个槽($-1$扳倒$2$),用时$2$秒,电梯上升到$6$层,用时$4$秒。
总用时为$(1+4)+4+(2+2)+(2+4)=19$秒。
对于$30$%的数据,满足$1≤N≤10,2<=M<=5$。
对于$100$%的数据,满足$1≤N≤1000,2<=M<=20,-N<C_1<C_2<……<C_M<N$。