算法题---动态规划

news2025/1/15 8:31:35

题目展示:

动态规划的题目我们一半分为5个步骤去分析,第一,状态表示;第二,动态转移方程;第三,初始化;第四,填表顺序;第五,返回值。

状态表示

这题目就是求到达楼顶最小花费是多少,我们从随意定义一个i,我们要求的不就是到i-1位置的最小花费加上i位置的花费和到i-2位置的最小花费的小的那一个花费吗。所以我们可以创建一个数组,用来表示到达这个i位置的最小花费。如下图所示,就是新创建的数组。

 动态转移方程

我们上面所谈及到的就是整道题目的思路,那么我们动态转移方程就是这个最核心的东西,我们上面推导出了要求的就是到i-1位置的最小花费加上i位置的花费和到i-2位置的最小花费的小的那一个花费。所以我们就可以写出动态转移方程。

初始化 

上面说的都是整体思路,我们下面来讲讲细节。初始化,我们是可以选择从0位置开始还是1位置开始的,所以从哪个位置开始都是免费的,所以我们把dp的0和1位置都初始化为0。这样就从第2位置开始求花费的费用。

填表顺序

根据我们上面初始化说到的应该是从左往右开始填,因为我们初始化的是0和1位置嘛。

返回值

返回值也很简单,就是我们那个dp数组的最后一个值,就是到楼顶的最小花费。

整体代码--以C++为例

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

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

相关文章

[权威出版|稳定检索]2024年大数据经济与公共管理国际会议(BDEPM 2024)

2024年大数据经济与公共管理国际会议 2024 International Conference on Big Data Economy and Public Management 【1】大会信息 会议名称:2024年大数据经济与公共管理国际会议 会议简称:BDEPM 2024 大会时间:请查看官网 大会地点&#xf…

网络协议原理

文章目录 TCP通信原理TCP与UDP的对比应用层应用层协议 --- tcp协议定制直接传递对象自定义协议现在要解决的问题业务处理 json的使用使用json进行序列化和反序列化操作 总结 TCP通信原理 tcp是面向字节流的 同时他也是面向连接的 所以TCP的服务器编写代码如图所示: 客户端的编…

Scala入门基础(10)高级函数

一.什么是高阶函数 二.map函数 三.foreach函数 四.filter函数 五.flatten函数 正文: 一.什么是高阶函数 高阶函数:是一个特殊的函数,特殊之处在于:它指使用其他函数作为参数或返回值 (演示) 二.map函…

maven项目打jar包之后如何指定外部配置文件运行java类

在maven项目中,常常会用到一些配置文件,一旦打成jar包之后,想要用外部的配置文件运行,怎么做呢? 一、配置文件config.ini 在maven项目中的src/main/resources目录下存放了一个配置文件config.ini。这个文件是默认的配置文件。 db.url=jdbc:mysql://localhost:3306/qyxx?u…

【JavaScript】LeetCode:66-70

文章目录 66 组合总和67 括号生成68 单词搜索69 分割回文串70 N皇后 66 组合总和 回溯sum:当前组合的数字和。递归终止条件:sum > target。收集结果条件:sum target,找到了满足条件的组合。注意:因为可以重复取数&…

亚洲最具影响力人物颜廷利:心理健康对身体健康的重要影响

在当代社会,面对疾病与痛苦,人们往往在西医与中医之间做出选择。21世纪世界上知名度最高的人物颜廷利教授的精辟见解指出了这两种医学体系的根本差异:西医以其高昂的费用,针对生理上的疾苦提供快速而直接的解决之道;相…

Python应用指南:利用高德地图API获取公交可达圈

参考文章:城市公交可达圈绘制方法(一) - 知乎 (zhihu.com) 本篇文章我们聚焦于通过公共交通出行方式(包括公交、地铁、公交地铁的组合)来获取一定时间内可以到达的范围。为了实现这一目标,我们将使用高德地…

在 Android 应用程序中实现与WebSocket 服务器的实时通信

😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD 如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。 😊 座右铭:不…

spring-boot学习(2)

上次学习截止到拦截器 1.构建RESfun服务 PathVariable通过url路径获取url传递过来的信息 2.MyBatisPlus 第三行的mydb要改为自己的数据库名 第四,五行的账号密码改成自己的 MaooerScan告诉项目自己的这个MyBatisPlus是使用在哪里的,包名 实体类的定义…

PL/SQL Developer15和Oracle Instant Client安装配置详细图文教程

一、下载介质 1、Oracle Instant Client Oracle Instant Client Downloads | Oracle 中国 2、PL/SQL DEVELOPER PL/SQL Developer - Allround Automations Free trial - Allround Automations 二、安装介质。 1、安装plsqldev1504x64.msi。 一路默认下一步。 选择输入许可信…

实跑 YOLO V11在 OAK内部运行的效果

哈喽,各位OAK中国的朋友们! 大家好我是张伯生 今天,我想给大家演示一下最新发布的Yolo V11神经网络 下面我将演示的一个程序是:同时在我们的OAK相机上跑Yolo V11和RGB-D,也就是彩色相机和深度图的一个叠加的一个效果 RGB-D和Yo…

java_for循环

基本语法 for 关键字,表示循环控制for 有四要素: (1)循环变量初始化(2)循环条件(3)循环操作(4)循环变量迭代循环操作 , 这里可以有多条语句,也就是我们要循环执行的代码如果 循环操作(语句) 只有一条语句,可以省略 {}, 建议不要省略 流程图 …

电气学习知识点

文章目录 NPN和PNP输出 NPN和PNP输出 NPN和PNP(两种不同类型的三极管)都是集电极输出。(集电极开路输出) 下图b:基极、c集电极、e发射极 NPN示意图(集电极连接负载 — 正方形) NPN的电流流向是从集电极…

Elasticsearch设置 X-Pack认证,设置账号和密码

前言 以下Elasticsearch版本:7.9.3 ES自带的X-Pack密码验证: X-Pack是elasticsearch的一个扩展包,将安全,警告,监视,图形和报告功能捆绑在一个易于安装的软件包中,所以我们想要开启账号密码验证…

Scala入门基础(10.1)高阶函数2

一.reduce 二.reduceLeft-reduceRight 三.flod 四.sorter函数 五.sortWith 一.reduce 作用:reduce是一种集合操作,用于对集合中的元素进行聚合操作,返回一个单一的结果。它通过指定的二元操作(即取两个元素进行操作)对集合中的所有元素进…

力扣刷题-算法基础

hello各位小伙伴们,为了进行算法的学习,小编特意新开一个专题来讲解一些算法题 1.移除元素. - 力扣(LeetCode) 本题大概意思是给定一个数组和一个数val删除与val相同的元素,不要改变剩余元素的顺序,最后返回剩余元素的个数。 我们在这里使用双指针,这里的双指针并不是…

npm 加速,命令行修改国内镜像源【附带国内最新几个镜像】超简约版~

为什么要配置国内镜像源? npm 的官方源服务器在国外,对于国内开发者来说,下载速度可能会比较慢,甚至可能会出现下载失败的情况。而国内的镜像源服务器通常会对官方源的包进行同步,并且在国内部署,这样可以…

使用OneAPI+Ollama+Dify搭建一个兼容OpenAI的API发布及AI应用开发系统(三)Dify的安装及配置

在GitHub中的AI工作流短代码平台中,Dify获星一直名列前茅,目前已达48K星,其工作稳定性也是非常的高,在这里我们介绍一下Dify的安装。 由于Dify的结构非常的复杂,我们这里介绍Docker的方式进行安装,硬件的最…

Oracle+11g+笔记(7)-数据库空间管理

Oracle11g笔记(7)-数据库空间管理 7、数据库空间管理 存储空间是数据库系统中非常重要的资源,无论是数据库中的对象还是数据库中的数据都需要空间进行存储,一旦 数据库空间被全部占用,那么该数据库系统就不能再接受任何对象和数据&#xf…

浙大数据结构:09-排序2 Insert or Merge

这道题我们采用先判断是不是insert如果不是再用merge算一下 机翻 1、条件准备 首先存元素个数n&#xff0c;然后oldnum存原始数组&#xff0c;newnum存新数组 #include <iostream> #include<vector> #include<algorithm> using namespace std; #define e…