洛谷P1929 迷之阶梯【DP】【黄】

该博客讨论了如何解决一道名为'迷之阶梯'的动态规划问题,其中涉及到达阶梯顶部所需的最小移动次数。博客内容包括问题描述、输入输出样例、数据范围以及两种解题思路。第一种思路虽然错误但提供了基本的f[i]状态转移方程,第二种思路修正了错误,考虑了从任意点后退再跳到目标位置的可能性。
摘要由CSDN通过智能技术生成

Date:2022.03.15
题目描述
在经过地球防卫小队的数学家连续多日的工作后,外星人发的密码终于得以破解。它 告诉我们在地球某一处的古老遗迹中,存在有对抗这次灾难的秘密武器。防卫小队立即赶 到这处遗迹。要进入遗迹,需要通过一段迷之阶梯。登上阶梯必须要按照它要求的方法, 否则就无法登上阶梯。它要求的方法有以下三个限制:
如果下一步阶梯的高度只比当前阶梯高 1,则可以直接登上。
除了第一步阶梯外,都可以从当前阶梯退到前一步阶梯。
当你连续退下 k 后,你可以一次跳上不超过当前阶梯高度 + 2 k 2^k 2k 的阶梯。比如说你现 在位于第 j 步阶梯,并且是从第 j+k 步阶梯退下来的,那么你可以跳到高度不超过当前阶 梯高度+ 2 k 2^k 2k
的任何一步阶梯。跳跃这一次只算一次移动。
开始时我们在第一步阶梯,由于时间紧迫,我们需要用最少的移动次数登上迷之阶梯。 请你计算出最少的移动步数。
输入格式
第一行:一个整数 N,表示阶梯步数。
第二行:N 个整数,依次为每层阶梯的高度,保证递增。
输出格式
第一行:一个整数,如果能登上阶梯,输出最小步数,否则输出-1。
输入输出样例
输入 #1复制
5
0 1 2 3 6
输出 #1复制
7
说明/提示
【样例解释】
连续登 3 步,再后退 3 步,然后直接跳上去。
【数据范围】
对于 50%的数据:1≤N≤20。
对于 100%的数据:1≤N≤200。
对于 100%的数据:每步阶梯高度不超过 2^31-1

思路①:wa,但是大体思路是对的。
f [ i ] : f[i]: f[i]:登上 i i i个阶梯所需最小步数。
状态转移方程:
a [ i ] = = a [ i − 1 ] + 1 时 ( 即 一 步 能 到 下 一 格 ) : f [ i ] = m i n ( f [ i ] , f [ i − 1 ] + 1 ) ; a[i]==a[i-1]+1时(即一步能到下一格):f[i]=min(f[i],f[i-1]+1); a[i]==a[i1]+1f[i]=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值