动态规划基础知识点(包含文档)

动态规划知识点

我也不知道为啥要收fei,我普通上传,但是平台好像不能直接看,大家可以试看,因为该文档就两页,还没完善

1.动态规划与贪心的区别

(1)求解问题区别:

贪心

顾名思义,就是尽量的贪心使得结果利益最大化从局部最优推出全局最优,比如:桌子上有三张钞票,面额各不相同,你只能取两次,每次只能取一张,那样子怎么取呢?

很明显,就是每次取所有钞票种面额最大的一张

这里的局部最优:每次取的时候的最大面额

全局最优:使得结果最大

动态规划

简称dp,如果一个问题有很多重叠子问题,那么用动态规划是最有效的。所以动态规划是需要从上一个状态推出后面状态的(和贪心最大的区别),这也就是为什么dp解题都有一个公式,这个公式叫递推公式。递推公式很重要,其实最重要的还有其他几点,等下说。

2.动态规划经典题型

动态规划是一种解决优化问题的算法思想,它可以解决许多不同类型的问题,包括但不限于以下几种:

最短路径问题:在一个有向图或者无向图中,找到两个节点之间最短路径的长度。(dp[i][j]:存到该点的最小路径)

最长公共子序列问题:给定两个序列,找到它们最长的公共子序列的长度。

最大子数组和问题:给定一个整数数组,找到一个连续子数组,使得该子数组的和最大。

最长递增子序列问题:给定一个序列,找到一个最长的递增子序列的长度。

简单题:

爬楼梯,斐波那契数列数列

(题解链接:

爬楼梯:LeetCode 爬楼梯(动态规划题解)-CSDN博客

斐波那契数列:斐波那契数列规划题题解-CSDN博客

中等:

四种背包(01背包,完全背包,多重背包,分组背包),打家劫舍,

买卖股票的最佳时机,最长公子序列,最长递增子序列(题解链接:LeetCode 300. 最长递增子序列 题解(C,C++) (包含动态规划与贪心的区别的资料)-CSDN博客),最长连续递增子序列,最长重复子数组,最大子序和

背包:(我之前的题解中有一维写法哦,二维写法空间复杂度较高,因此我并未使用,一维写法:01背包 与 emo题目背景(周超人的遗憾) 的爱恨情仇-CSDN博客

它二维数组是dp[i][j],从0到i这些物品里面选,背包容量为j,dp[i][j]的意思是它能装下的最大价值

3.动态规划最重要的五步:

(1)确定dp数组及下标的含义(dp[i])

(2)确定递推公式

(3)确定如何初始化

(4)确定遍历顺序

(5)打印数组

相关推荐

  1. 动态规划基础知识包含文档

    2024-03-18 16:48:05       45 阅读
  2. 动态规划基础

    2024-03-18 16:48:05       62 阅读
  3. 动态规划基础

    2024-03-18 16:48:05       46 阅读
  4. 动态规划基础

    2024-03-18 16:48:05       44 阅读
  5. 竞赛常考的知识大总结(五)动态规划

    2024-03-18 16:48:05       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-18 16:48:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-18 16:48:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-18 16:48:05       87 阅读
  4. Python语言-面向对象

    2024-03-18 16:48:05       96 阅读

热门阅读

  1. C语言—计算输入的字符串中数字、字符等的数量

    2024-03-18 16:48:05       46 阅读
  2. pta7-25 念数字 C语言

    2024-03-18 16:48:05       43 阅读
  3. C语言中的变量范围规定方法

    2024-03-18 16:48:05       40 阅读
  4. LeetCode(力扣)算法题_2789_合并数组后的最大元素

    2024-03-18 16:48:05       43 阅读
  5. postgresql查看数据库占用空间大小

    2024-03-18 16:48:05       42 阅读
  6. MySQL

    MySQL

    2024-03-18 16:48:05      35 阅读
  7. 记录使用vue3自定义指令

    2024-03-18 16:48:05       36 阅读
  8. MyBatisPlus 之五:MP 的 IService 接口实现方式

    2024-03-18 16:48:05       44 阅读
  9. Python常用内置函数

    2024-03-18 16:48:05       40 阅读
  10. LeetCode刷题笔记之动态规划(二)

    2024-03-18 16:48:05       46 阅读
  11. mysql判断一个字符串字段的长度是否为0

    2024-03-18 16:48:05       37 阅读
  12. css的严格模式和混杂模式区别?

    2024-03-18 16:48:05       45 阅读
  13. 输送带的设计

    2024-03-18 16:48:05       36 阅读