首页
学习
活动
专区
圈层
工具
发布
首页标签动态规划

#动态规划

背包dp——动态规划

用户11719974

  这个看似简单的模型,却可以衍生出许多变种,广泛应用于资源分配、投资决策、项目选择等现实问题中。

700

单双序列问题——动态规划

用户11719974

  根据题目的特点找出该元素对应的最优解(或解的数目)和前面若干元素(通常是一个或两个)的最优解(或解的数目)的关系,并以此找出相应的状态转移方程。一旦找出了状...

1000

多状态dp——动态规划

用户11719974

假设我们按之前的经验,使用dp[i]表示从0到i能偷窃到的最高金额。并试着写出状态转移方程。而我们只知道dp[i-1]是0到i-1能偷窃的最高金...

300

子数组问题——动态规划

用户11719974

后面就根据具体的题目要求填写,可能是子数组的和或者子数组的积等等,无论如何都可以以i元素结尾的子数组为研究对象去思考问题,如果解决不了就尝试增加...

1000

基础dp——动态规划

用户11719974

动态规划(Dynamic Programming,简称dp)是一种通过将复杂问题分解为更小的子问题来解决的算法思想,尤其适用于具有重叠子问题和最...

1800

力扣经典150题第五十题:用最少数量的箭引爆气球

用户8589624

此外,我们也可以考虑其他实现方式,例如使用贪心算法或动态规划等方法来解决类似问题。

5310

力扣经典150题第七题:买卖股票最佳时机

用户8589624

本篇博客将讨论力扣经典150题中的买卖股票的最佳时机问题。给定一个数组 prices,其中第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格,...

5510

LeetCode动态规划全解析:从基础到高级应用

安全风信子

多维动态规划是一维动态规划的扩展,常见的有二维和三维动态规划。在处理多维动态规划问题时,需要注意以下几点:

8410

IO竞赛深入解析:动态规划专题完全指南

安全风信子

动态规划(Dynamic Programming,简称DP)是IO竞赛中最常用且最强大的算法思想之一。它能够将复杂问题分解为若干个子问题,通过解决子问题并保存中...

16810

斐波那契数列模型:在动态规划的丝绸之路上追寻斐波那契的足迹(上)

用户11379153

在这篇文章中,我们将通过动态规划的技术来探讨如何高效地求解斐波那契数列,从而避免传统递归方法中低效的冗余计算。我们将以 C 语言为例,展示动态规划方法如何一步步...

13310

字符串算法篇——字里乾坤,算法织梦,解构字符串的艺术(上)

用户11379153

在计算机科学的浩瀚星空中,字符串是最细腻、最富诗意的结构之一。它承载了语言的重量,将符号化作信息的桥梁。而解构字符串的算法,如同一场字符与逻辑的交响曲,为我们揭...

9810

【强化学习】区分理解: 时序差分(TD)、蒙特卡洛(MC)、动态规划(DP)

不去幼儿园

在强化学习(Reinforcement Learning, RL)的领域,如何有效地评估和优化策略一直是研究的核心问题之一。强化学习的目标是让智...

17010

动态规划-1035.不相交的线-力扣(LeetCode)

白天的黑夜

光看题目要求和例图,感觉这题好麻烦,直线不能相交啊,每个数字只属于一条连线啊等等,但我们结合题目所给的信息和例图的内容,这不就是最长公共子序列吗?,我们把最长...

8010

动态规划-1143.最长公共子序列-力扣(LeetCode)

白天的黑夜

对于给定了两个字符串中,需要找到最长的公共子序列,也就是两个字符串所共同拥有的子序列。

10310

动态规划-647.回文子串-力扣(LeetCode)

白天的黑夜

这里也有其他算法可以解决该问题,如中心扩展算法 时间复杂度O(N^2)/空间复杂度O(1),马拉车算法(具有局限性) 时间复杂度O(N)/空间复杂度O(N),动...

9210

动态规划-376.摆动序列-力扣(LeetCode)

白天的黑夜

只要形似上图的都可以是摆动序列,如左图,且仅含一个元素和两个元素的也算摆动序列,如右图

8810

动态规划-300.最长递增子序列-力扣(LeetCode)

白天的黑夜

我们想要知道的是最长递增子序列长度,所以dp[i]表示:以i位置元素为结尾的所有子序列中最长递增子序列的长度

11210

动态规划-931.下降路径最小和-力扣(LeetCode)

白天的黑夜

我们需要的是到达[i,j]的最小路径和,所以此时dp[i][j]表示:到达[i,j]位置时,最小的下降路径

10110

动态规划-152.乘积最大子数组-力扣(LeetCode)

白天的黑夜

此时f[i]表示:以i位置为结尾的所有子数组中的最大乘积,但是由于nums中存在负数,所以还需要g[i]表示:以i位置为结尾的所有子数组中的最小乘积

9510

动态规划-LCR 091.粉刷房子-力扣(LeetCode)

白天的黑夜

由于只有一排房子所以此时dp[i]表示:到达i位置时,此时的最小花费,但我们发现有三种颜色要粉刷,所以我们需要多加一维表示粉刷的颜色。

8110
领券