![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DP专题
文章平均质量分 91
hyzhang_
每一个不曾起舞的日子都是对生命的辜负!!!
展开
-
动态规划之背包DP
动态规划之背包DP文章目录动态规划之背包DP01背包问题分割等和子集(动规)(动规-空间优化)[1049. 最后一块石头的重量 II](https://leetcode-cn.com/problems/last-stone-weight-ii/)(动规)(动规-空间优化)目标和(递归)(记忆化搜素)(动规-加偏移量)(动规-转化为01背包问题)(动规-空间优化)一和零(动规-01背包-二维费用背包-朴素版)(动规-01背包-二维费用背包-空间优化)完全背包问题[零钱兑换 II](https://leetc原创 2021-10-17 10:57:18 · 228 阅读 · 4 评论 -
动态规划之双序列DP问题题集
动态规划之双序列DP问题文章目录动态规划之双序列DP问题最长公共子序列(动规)正则表达式匹配(动规)通配符匹配(动规)编辑距离(动规)不相交的线(动规-LCS)交错字符串(动规)(动规2)(动规空间优化)不同的子序列(动规)两个字符串的删除操作(动规)最长公共子数组(动规)(动规-空间优化)最短公共超序列(动规)最长公共子序列(动规)最长公共子序列问题是最经典的双序列的DP问题,因为涉及到两个序列共同的部分,所以使用二维的DP数组来表示,而公共子序列的可以在循环的内部判断。1.状态定义dp[原创 2021-09-22 16:25:16 · 314 阅读 · 3 评论 -
动态规划之线性DP题集
动态规划之线性DP文章目录动态规划之线性DP(一)LIS问题最长上升子序列(朴素动规)(二分+贪心+动规)最大子序和(动规)(贪心)最长连续递增序列(动规)(双指针)俄罗斯套娃信封问题(二维LIS问题动规)(一维LIS问题)(一维LIS问题+二分贪心优化)堆箱子(三维LIS问题动规)无重叠区间(动规)(贪心1)(贪心2)用最少数量的箭引爆气球(贪心)最长数对链(动规)(贪心)(贪心右端点sort)最长字符串链(动规)(二)前后缀数组除自身以外数组的乘积(动规)(动规空间优化)数组中的最长山脉(动规枚举山顶原创 2021-09-18 23:04:54 · 717 阅读 · 3 评论 -
dp路径专项练习
动态规划之路径DP路径dp的形式:指定了一个「起点」和一个「终点」,有一个「移动规则」答案在按照移动规则移动的过程中产生。文章目录动态规划之路径DP不同路径(动规)(组合数学)[不同路径 II](https://leetcode-cn.com/problems/unique-paths-ii/)(动规)最小路径和(动规)进阶问题三角形最小路径和(从下到上动规)(从上到下动规)(空间优化)下降路径最小和(从下到上动规)[下降路径最小和 II](https://leetcode-cn.com/proble原创 2021-09-07 19:56:30 · 234 阅读 · 0 评论 -
动态规划之子序列问题(子串,子序列,编辑距离,回文串)
动态规划(子序列问题)文章目录动态规划(子序列问题)子序列(不连续)最长上升子序列(暴力回溯)(动规)(动规 + 二分 + 贪心)(动规 + 二分 + 贪心)化简版最长公共子序列(动规)不相交的线(动规)子序列(连续)最长连续上升子序列(动规)(双指针)最长公共子数组 (动规)(动规 一维数组优化)(滑动窗口 待更新)最大子序和(暴力)(动规)(动规 空间优化)(贪心)总结(连续和不连续问题)连续子序列分析方法:(复盘连续子序列)不连续子序列分析方法:(复盘不连续子序列)编辑距离判断子序列(双指针)(动原创 2021-07-21 18:08:39 · 204 阅读 · 0 评论 -
最长上升子序列/子串和最长公共子序列/子串
文章目录子序列(不连续)最长上升子序列(暴力回溯)(动规)(动规 + 二分 + 贪心)(动规 + 二分 + 贪心)化简版最长公共子序列(动规)(动规)子序列(连续)最长连续上升子序列(动规)(双指针)最长公共子数组 (动规)(动规 一维数组优化)(滑动窗口 待更新)子序列(不连续)<span id = “最长上升子序列">最长上升子序列LIS(longest increasing subsequence)是最经典的动态规划题目之一,因为它的递推公式很有条理,可以很清楚的告诉我们什么状态可以原创 2021-07-17 22:12:00 · 808 阅读 · 1 评论 -
动态规划从递归到动规之打家劫舍
动态规划(打家劫舍)文章目录动态规划(打家劫舍)打家劫舍系列打家劫舍(递归)TLE(记忆化搜索)(动规1)(动规2)(动规 空间优化)打家劫舍Ⅱ(记忆化搜索)(动规1)(动规2)(动规 空间优化)打家劫舍Ⅲ(暴力递归)(记忆化搜索)(树形dp)打家劫舍系列如果想看背包问题的讲解和练习的同学可以点这里打家劫舍不管怎么样,先用暴搜递归出一个答案,后面再去优化时间复杂度。定义一个递归函数表示前start个房间偷,可以获得的最大金额数。因为每一次不可以回头偷已经投过的房间,所以要设置start这个变量,原创 2021-07-14 17:13:55 · 164 阅读 · 0 评论 -
01背包和完全背包练习与讲解
背包问题的模板背包问题的模板常见的背包类型主要有以下几种:1.0/1背包问题:每个元素最多选取一次一维数组优化:外循环物品,内循环背包,内循环倒序。2.全背包问题:每个元素可以重复选择一维数组优化:外循环物品,内循环背包,内循环正序。完全背包的组合和排列:当计算组合的时候:外循环物品,内循环背包当计算排列的时候:外循环背包,内循环物品。而每个背包问题要求的也是不同的,按照所求问题分类,又可以分为以下几种:1.最值问题:要求最大值/最小值 -》dp[j] = max(dp[j], d.原创 2021-07-13 18:47:09 · 402 阅读 · 0 评论 -
背包问题(从递归回溯到动态规划)(01背包和完全背包)
动态规划方法论1.确定dp数组以及下标的含义2.确定递推公式3.dp数组如何初始化4.确定遍历顺序5.举例推导dp数组背包问题的模板背包问题分类:常见的背包类型主要有以下几种:1、0/1背包问题:每个元素最多选取一次2、完全背包问题:每个元素可以重复选择3、组合背包问题:背包中的物品要考虑顺序4、分组背包问题:不止一个背包,需要遍历每个背包而每个背包问题要求的也是不同的,按照所求问题分类,又可以分为以下几种:1、最值问题:要求最大值/最小值 -》dp[j] = max(dp[j原创 2021-07-13 07:17:31 · 889 阅读 · 1 评论 -
最大连续子序列和
最大连续子序列题目描述给定K个整数的序列{ N1, N2, …, NK },其任意连续子序列可表示为{ Ni, Ni+1, …, Nj },其中 1 <= i <= j <= K。最大连续子序列是所有连续子序列中元素和最大的一个,例如给定序列{ -2, 11, -4, 13, -5, -2 },其最大连续子序列为{ 11, -4, 13 },最大和为20。现在增加一个要求,即还需要输出该子序列的第一个和最后一个元素。输入测试输入包含若干测试用例,每个测试用例占2行,第1行给出正整数原创 2021-04-03 21:28:34 · 343 阅读 · 0 评论