【DP】动态规划基本解题步骤(求解台阶问题)

  1. dp数组的定义和下标
  2. 递推公式
  3. dp数组如何初始化,初始化也需要注意
  4. 遍历顺序
  5. 打印dp数组(出现问题

对于高度为  n 的台阶,从下往上走,每一步的阶数为 1,2,3 中的一个。问要走到顶部一共有多少种走法

分析:

(1)dp[i]:达到i阶楼梯有dp[i]种方法

(2)dp[i]=dp[i-1]+dp[i-2]+dp[i-3];

(3)dp[1]=1;dp[2]=2;dp[3]=4;

(4)此题应为正序遍历

#include <iostream>
using namespace std;int main()
{//第一个阶梯一种走法//第二个阶梯2种走法//第三个阶梯4种走法int dp[36]={0,1,2,4};//我们将第一个台阶走法存入dp[1]int n;cin>>n;for(int i=4;i<=n;i++){//从第四个阶梯开始dp[i]=dp[i-1]+dp[i-2]+dp[i-3];}cout<<dp[n];return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/770024.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python中良好的编码规范

遵循PEP 8的常见规范&#xff1a; 缩进&#xff1a; 使用4个空格来缩进代码块&#xff0c;而不是使用制表符。 命名规范&#xff1a; 变量名应该使用小写字母&#xff0c;单词之间用下划线 _ 分隔&#xff08;snake_case&#xff09;。类名应该使用驼峰命名法&#xff08;Camel…

C++ 模板知识大全

模板 泛型编程 我们如何实现一个交换函数 我们实现了两种类型的交换函数&#xff0c;但是其实除了类型不一样&#xff0c;其他地方都是一样的。 void swap(int& a, int& b) {int tmp a;a b;b tmp; }void swap(char& a, char& b) {int tmp a;a b;b tmp…

关于DCMM评估的办理条件你知道多少?

DCMM&#xff08;数据管理能力成熟度评价模型&#xff09;评估划分为五个等级&#xff0c;自低向高依次为初始级、受管理级、稳健级、量化管理级和优化级&#xff0c;不同等级代表企业数据管理和应用的成熟度水平不同&#xff0c;证书自颁发之日起有效期3年 DCMM申报基础条件 …

香港科技大学(广州)先进材料学域可持续能源与环境学域智能制造学域博士招生宣讲会——北京专场(暨全额奖学金政策)

三个学域代表教授亲临现场&#xff0c;面对面答疑解惑助攻申请&#xff01;可带简历现场咨询和面试&#xff01; &#x1f4b0;一经录取&#xff0c;享全额奖学金1.5万/月&#xff01; 报名链接&#xff1a; https://www.wjx.top/vm/wF2Mant.aspx# 地点&#xff1a;中关村皇冠…

Redis中RDB的dirty机制和AOF中的后台重写机制

RDB的dirty计数器和lastsave属性 服务器除了维护saveparams数组之外&#xff0c;还维持着一个dirty计数器,以及一个lastsave属性: 1.dirty计数器记录距离上一次成功执行SAVE命令或者BGSAVE命令之后&#xff0c;服务器对数据库状态(服务器中的所有数据库)进行了多少次修改(包括…

设计模式学习笔记 - 设计模式与范式 -结构型:1.代理模式:代理在RPC、缓存、监控等场景中的应用

概述 前面几个章节&#xff0c;我们学习了设计模式中的创建型模式。创建型模式主要解决对象的创建问题&#xff0c;封装复杂的创建过程&#xff0c;解耦对象的创建代码和使用代码。 单例模式用来创建全局唯一的对象。工厂模式用来创建不同但是相关类型的对象&#xff08;继承…

文件操作3

随机读写数据文件 一、随机读写原理 在我们写数据时&#xff0c;有一个光标不断的在随着新写入的数据往后移动&#xff1b; 而读数据时&#xff0c;也有一个看不见光标&#xff0c;随着已经读完的数据&#xff0c;往后移动 这里的文件读写位置标记——可以想象成图形界面里的…

算法分析与设计复试总结(二)

以下是一些常见的问题类型&#xff1a; 基础算法概念&#xff1a; 请解释什么是算法&#xff0c;以及算法的重要性。 算法是一系列解决问题的清晰指令&#xff0c;算法代表着用系统的方法描述解决问题的策略机制。也就是说&#xff0c;能够对一定规范的输入&#xff0c;在有限…

QB PHP 多语言配置

1&#xff1a; 下载QBfast .exe 的文件 2&#xff1a; 安装的时候 &#xff0c;一定点击 仅为我 安装 而不是 所有人 3&#xff1a; 如果提示 更新就 更新 &#xff0c; 安装如2 4&#xff1a; 如果遇到 新增 或者编辑已经 配置的项目时 不起作用 &#xff1a; 右…

05:HAL-----看门狗WDT

目录 一:看门狗 1:WDT 2:独立看门狗 (IWDG) A:IWDG框图 B:IWDG_KR键寄存器 C:IWDG超时时间 D:HAl库的配置 3:窗口看门狗 (WWDG) A:WWDG框图 B:WWDG工作特性 C:WWDG超时时间 D:HAL库配置 4:独立看门狗和窗口看门狗的区别 5:数据手册 二:案例 A:独立看门狗 B:窗…

LEETCODE-DAY29

title: LEETCODE-DAY29 date: 2024-03-20 15:22:38 tags: 今日内容&#xff1a;491.递增子序列、46.全排列、47.全排列 II T1 class Solution:def backtracking(self,nums,index,path,res):if indexlen(nums):res.append(path.copy())returnfor i in range(index,len(nums))…

springboot项目学习-瑞吉外卖(4)

1.任务 这一节主要的任务是解决文件的上传和下载功能 2.文件上传 概念&#xff1a;将本地的图片上传到浏览器上面 点击文件上传&#xff0c;前端就会发送如上的请求&#xff0c;服务端应该根据URL和请求方法来处理请求 CommonController类&#xff1a; RestController Slf4j …

【第二部分--Python之基础】

一、初识 开发语言&#xff1a; 高级语言&#xff1a;Python Java PHP C# Go Ruby C ... > 字节码 低级语言&#xff1a;C 汇编 > 机器码 …

6、jenkins项目构建类型1-项目类型介绍

文章目录 一、自由风格项目二、Maven项目构建三、Pipeline流水线项目构建&#xff08;☆☆☆&#xff09; Jenkins中自动构建项目的类型有很多&#xff0c;常用的有以下三种&#xff1a; 自由风格软件项目&#xff08;FreeStyle Project&#xff09;Maven项目&#xff08;Mave…

初始Redis关联和非关联

基础篇Redis 3.初始Redis 3.1.2.关联和非关联 传统数据库的表与表之间往往存在关联&#xff0c;例如外键&#xff1a; 而非关系型数据库不存在关联关系&#xff0c;要维护关系要么靠代码中的业务逻辑&#xff0c;要么靠数据之间的耦合&#xff1a; {id: 1,name: "张三…

Maya FBX导出导入

问题描述&#xff1a; Maya 导出导入 FBX&#xff0c;设置 FBX 的 导入和导出设置 解决方案&#xff1a; 获取FBX设置 def getFBXSettings():""" get current user settings for FBX export and store them """mel.eval(FBXPushSettings;)de…

指针知识大礼包,让你的编程之路更顺畅(一)

1. 内存和地址 2. 指针变量和地址 3. 指针变量类型的意义 4. const修饰指针 5. 指针运算 6. 野指针 7. assert断⾔ 8. 指针的使⽤和传址调⽤ 正文开始 1. 内存和地址 1.1 内存 在讲内存和地址之前&#xff0c;我们想有个⽣活中的案例&#xff1a; 假设有⼀栋宿舍楼&a…

自锁电路设计

自锁电路设计 Hi,uu们,是不是经常要用到自锁电路,通常不是使用555芯片就是用比较器来做自锁,今天我们来简单看下自锁电路的设计.图1采用了比较器构建了一个自锁电路,采用低电平复位&#xff0c;当需要复位的时候志需要将反向端的二极管拉低一下即可&#xff0c;免去 三极管控制…

glsl改变纹理坐标来放大图像

使用glsl中的顶点着色器来改变坐标位置 // 顶点着色器 #version 330 core layout (location 0) in vec2 Position; // 位置坐标 layout (location 1) in vec2 TexCoord; // 原始纹理坐标 out vec2 FragTexCoord; // 输出给片段着色器的纹理坐标 void main() {gl_Position …

springboot 大文件分片上传

springboot 大文件分片上传 constantentityvocontrollerutils大文件分片上传是一种将大文件分割成多个小文件片段,然后分别上传这些小文件片段的方法。这种方法的好处包括: 减少重新上传开销:如果网络传输中断,只需重传未上传的部分,而不是整个文件。 提高灵活性:分片大小…