题目描述

有一个小球掉落在一串连续的弹簧板上,小球落到某一个弹簧板后,会被弹到某一个地点,直到小球被弹到弹簧板以外的地方。

假设有 n 个连续的弹簧板,每个弹簧板占一个单位距离,a[i] 代表代表第 i 个弹簧板会把小球向前弹 a[i] 个距离。比如位置 1 的弹簧能让小球前进 2 个距离到达位置 3。如果小球落到某个弹簧板后,经过一系列弹跳会被弹出弹簧板,那么小球就能从这个弹簧板弹出来。现在希望你计算出小球从任意一个弹簧板落下,最多会被弹多少次后,才会弹出弹簧板。

输入格式

第一个行输入一个 n 代表一共有 n(1≤n≤100000) 个弹簧板。第二行输入 n 个数字,中间用空格分开。第 i 个数字 ai​(1≤ai​≤30) 代表第 i 个弹簧板可以让小球移动的距离。

输出一个整数,代表小球最多经过多少次才能弹出弹簧板。

样例输入

5

2 2 3 1 2

样例输出

3


在第i个位置的时候可能从上一个点走到,那么走第i个位置的步数则为走到上一个点的次数加1.

反着思考可能比较好

#include <iostream>
using namespace std;
int n;
int a[100];
int dp[100];
int main()
{cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}int ans=0;for(int i=n;i>=1;i--){dp[i]=dp[i+a[i]]+1;ans=max(ans,dp[i]);}cout<<ans<<endl;
} // namespace std;

【动态规划DP】弹簧板相关推荐

  1. 弹簧板(加强) - 计蒜客

    目录 题目 题解 题目 1000ms 32768K 有一个小球掉落在一串连续的弹簧板上,小球落到某一个弹簧板后,会被弹到某一个地点,直到小球被弹到弹簧板以外的地方. 假设有 n 个连续的弹簧板,每个弹 ...

  2. 计蒜客--弹簧板 DP--动态规划入门

    1000ms  32768K 有一个小球掉落在一串连续的弹簧板上,小球落到某一个弹簧板后,会被弹到某一个地点,直到小球被弹到弹簧板以外的地方. 假设有 n 个连续的弹簧板,每个弹簧板占一个单位距离,a ...

  3. 第4课 防卫导弹(第十章 动态规划--DP)

    //progream p10_04 /* 第4课 防卫导弹(第十章 动态规划--DP)  (<聪明人的游戏--信息学探秘 提高篇>) https://blog.csdn.net/weixi ...

  4. 动态规划dp(带模板题の超易懂版):01背包,完全背包,分组背包,多重背包,混合背包

    动态规划dp(带模板题の超易懂版):01背包,完全背包,分组背包,多重背包 01背包 && 完全背包 && 分组背包 の 视频教程:https://www.bilibi ...

  5. 【习题详解】动态规划DP:硬币游戏 蛋糕 游荡的奶牛 决斗

    动态规划DP 硬币 蛋糕塔 游荡的奶牛 格斗 硬币 题目描述 农夫约翰的奶牛喜欢玩硬币游戏,因此他发明了一种称为"Xoinc"的两人硬币游戏. 初始时,一个有N(5 <= N ...

  6. 动态规划: dp+递推——确定动态矩阵dp含义,确定每个状态下面临的选择和对结果值影响,选择符合题意的作为结果存储在dp中

    1.动态规划:每一个状态一定是由之前的状态推导出来的,通过总结归纳发现递推关系 2.解决动态规划问题的步骤: 确定dp数组(dp table)以及下标的含义: 每个单元内 题目所求的值,一维.二维 确 ...

  7. 第13期:动态规划-dp题集

    1 P7972 [KSN2021] Self Permutation //[动态规划1]动态规划的引入 2 P1216 [USACO1.5][IOI1994]数字三角形 Number Triangle ...

  8. Datawhale编程——动态规划DP

    0-1背包问题 问题:有n个物品,第i个物品价值为vi,重量为wi,其中vi和wi均为非负数,背包的容量为W,W为非负数.现需要考虑如何选择装入背包的物品,使装入背包的物品总价值最大. 针对这个经典的 ...

  9. 《强化学习》中的 时序差分学习 Temporal-Difference Learning (基于与动态规划 DP 、蒙特卡洛方法 MC 的对比)

    前言: 学习了 Sutton 的<强化学习(第二版)>中时序差分学习的"预测"部分内容.前两章中,书介绍了 动态规划 与 蒙特卡洛方法 ,我们从二者与 时序差分学习 的 ...

最新文章

  1. windows 7使用CAJViewer时出错显示缺少ReaderEX.dll处理
  2. 广东省“安网2016”网络安全专项治理行动正式启动
  3. 一键装机linux_linux系统安装,怎样安装linux系统制作步骤
  4. java download oracle,Oracle Java Products Download
  5. 【bzoj 3669】[Noi2014]魔法森林
  6. keras实现手写字体识别
  7. Unity插件——Odin 学习笔记(一)
  8. Windows server 2019的系统激活码 激活windows server 2012r2系统
  9. 按Volume Down进Factory Mode的修改:
  10. 第五章:项目范围管理 - (5.4 创建 WBS )
  11. ie浏览器html页面怎么清缓存,Web项目中,清理浏览器缓存的几种方式
  12. 【毕业设计】大数据 电影数据分析与可视化系统 - python Django 大数据 可视化
  13. 报警c语言程序,PIC单片机警报声C程序
  14. word2010中“不包含”、“不存在”等特殊字符的输入方法
  15. 何钦铭c语言第三版第3章答案,何钦铭版C语言第3章答案精选.pdf
  16. 安卓手机突然很卡_安卓手机为什么很卡 安卓手机卡顿原因分析【详解】
  17. 如何用电脑控制手机屏幕,写工作日志
  18. 使用css animation动画做边框闪动效果
  19. java实现生成纯色图片代码实例
  20. IE和火狐的css兼容性问题

热门文章

  1. 关于在u-boot中使用usb进行通信(一)
  2. python读取文件数据恢复软件_python深度学习pdf恢复
  3. 构建伟大的思想体系的重要性
  4. pytest你不懂fixture,你没学会pytest!
  5. AI神经网络-CNN基本结构分析( Conv层、Pooling层、FCN层/softmax层)
  6. 三星手机com.sec.android.app.sams,三星健康(com.sec.android.app.shealth) - 6.9.1.017 - 应用 - 酷安...
  7. ctf-web-速度要快
  8. 理解van-field组件 :value 和 v-model的区别
  9. SpringBoot集成jta-atomikos实现分布式事务
  10. x230键盘排线怎么拆_x230键盘排线怎么拆_简易拆解教程,小白也能轻易上手,GANSS ALT71机械键盘拆解......