动态规划

范特西_1 天前
算法·动态规划
交错字符串-二维dp这题的状态定义比较巧妙,dp是一个bool类型的数组,dp(i,j)表示s1的前i个字符加上s2的前j个字符是否能够交错形成s3的前i+j个字符。
森林古猿12 天前
c++·学习·算法·排序算法·动态规划·几何学
论区间dp:常用模型(附极角排序教程)区间dp很简单,重要的是判断在什么样的题里用区间 d p dp dp 本文适合对区间 d p dp dp有初步了解的人阅读 本文有三道例题 1.P1220 关路灯 2.青蛙的烦恼 3.行政划分
花火|2 天前
算法·动态规划
算法训练营day46 647. 回文子串、516.最长回文子序列、动态规划总结篇今天是动态规划的最后一篇内容了,本篇主要是针对回文字符串这种“与众不同”的递推规律来进行讲解统计并返回这个字符串中 回文子串 的数目
啊阿狸不会拉杆3 天前
数据结构·c++·算法·排序算法·动态规划·代理模式
《算法导论》第 15 章 - 动态规划大家好,今天我们来深入探讨《算法导论》中非常重要的一章 —— 动态规划(Dynamic Programming)。动态规划是一种通过将复杂问题分解为重叠子问题,并利用子问题的解来构建原问题解的高效算法设计技术。在很多优化问题中,动态规划都能发挥巨大作用。
GG不是gg6 天前
动态规划
动态规划进阶:转移方程优化技巧全解动态规划(DP)的核心是“定义状态+推导转移方程”,但很多时候,基础的转移方程会导致时间复杂度偏高(如 O ( n 2 ) O(n^2) O(n2)),难以应对大规模输入,此时转移方程的优化就成为突破性能瓶颈的关键。
范特西_6 天前
算法·动态规划
不同的子序列-二维动态规划有点像背包dp
花开富贵ii6 天前
java·数据结构·算法·leetcode·动态规划
代码随想录算法训练营第三十八天、三十九天|动态规划part11、12题目链接:1143. 最长公共子序列 - 力扣(LeetCode)给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。
发发发发8887 天前
java·数据结构·算法·leetcode·动态规划·最长连续递增序列
leetcode 674.最长连续递增序列给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], ..., nums[r - 1], nums[r]] 就是连续递增子序列。
是店小二呀8 天前
算法·动态规划
【动态规划 | 01背包】动态规划经典:01背包问题详解01背包是动态规划的经典问题,要求在容量限制下选择最大价值的物品。本文将详解如何通过状态转移方程高效求解,并给出空间优化方案,帮助掌握这一基础算法模型。
shenghaide_jiahu10 天前
算法·数学建模·动态规划
数学建模——递归和动态规划这个还得从实际问题出发假设你在商店购物,最后需要用硬币支付,并且每次用的硬币数量要最少,并且总额不能超。而你现在有三种面额的硬币,分别是2,5,7
凯子坚持 c10 天前
算法·动态规划
动态规划专题:详解二维费用背包问题——以“一和零”与“盈利计划”为例一和零 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个 1 。
是店小二呀10 天前
算法·动态规划·代理模式
【动态规划 | 子序列问题】子序列问题的最优解:动态规划方法详解动态规划是解决子序列问题的利器。面对最长公共子序列、最长递增子序列等经典问题时,掌握状态定义、转移方程和边界处理三大核心要素,就能快速找到最优解。本文将用最简洁的方式,带你掌握动态规划解决子序列问题的精髓,提升算法解题能力。
屈臣12 天前
动态规划·dfs·二分
AtCoder Beginner Contest 417 (A-E题解)比赛链接A,B题纯模拟 C题 公式一步转换 D题 五题里面最难的,dp预处理+二分 E题 排序+BFS
Morriser莫12 天前
算法·动态规划
动态规划Day7学习心得今天给动态规划扫个尾,还有两题。第一道:647. 回文子串 - 力扣(LeetCode)两层for循环,遍历区间起始位置和终止位置,然后还需要一层遍历判断这个区间是不是回文。所以时间复杂度:O(n^3)。
自由随风飘13 天前
数据结构·c++·算法·动态规划·旅游
旅游城市数量最大化 01背包问题题目描述 求一个人去旅游能到达的最多的城市。输入格式 第一行为输入的样例组数T TT。接着为n nn,m mm(n nn为这个人旅行的总天数,m mm为计划旅行的总城市数)。
hnjzsyjyj13 天前
动态规划·图论
洛谷 P11230:[CSP-J 2024 T4] 接龙 ← 图论+动态规划【题目来源】 https://www.luogu.com.cn/problem/P11230 https://www.acwing.com/problem/content/6044/ 【题目描述】 在玩惯了成语接龙之后,小 J 和他的朋友们发明了一个新的接龙规则。 总共有 n 个人参与这个接龙游戏,第 i 个人会获得一个整数序列 作为他的词库。 一次游戏分为若干轮,每一轮规则如下: (1)n 个人中的某个人 p 带着他的词库 进行接龙。若这不是游戏的第一轮,那么这一轮进行接龙的人不能与上一轮相同,但可以与
花火|13 天前
算法·动态规划
算法训练营day37 动态规划⑤ 完全背包 518. 零钱兑换 II、 377. 组合总和 Ⅳ、70. 爬楼梯 (进阶)动态规划的第五篇博客!今天讲完全背包,排列组合的理解!对于上一篇博客的494题,我之前的理解存在误区,更正的理解在本篇博客518题后续的对于递推公式理解的补充
快去睡觉~14 天前
算法·leetcode·动态规划
力扣46:全排列给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。看到所有可能首先想到的就是回溯。 回溯的结束条件也很好写,用数组的长度来判断即可。这道题的难点主要是如何进行判断这个位置我们已经使用过了,和我们之前的回溯不同之前的回溯可能每个位置是一个字符串或者数组所以我们可以使用下标来控制,这道题我们每个位置都只是一个数字所以我们得另想办法。其实也很简单我们用一个存储着bool类型的数组不就可以了如果这个位置已经插入了我们就把对应下标设为true如果没插入就是flase。
GG不是gg14 天前
动态规划
最长递增子序列(LIS)问题详解最长递增子序列(Longest Increasing Subsequence,简称LIS)是动态规划领域的经典问题,它看似简单——在一个无序数组中找到最长的严格递增子序列(子序列无需连续),但背后隐藏着从暴力到高效的多种解法思路。本文我将系统解析LIS问题的核心逻辑,从基础的动态规划到优化的“二分查找+贪心”解法,并结合代码实现、复杂度分析及变种拓展全面解读。
是店小二呀15 天前
算法·动态规划
【动态规划 | 多状态问题】动态规划求解多状态问题多状态问题通常涉及多个决策点和状态转换,解决起来复杂且计算量大。动态规划作为一种强大的算法工具,能够通过将问题分解为子问题并逐步求解,显著提升解决这类问题的效率。本文将探讨如何运用动态规划技术有效处理复杂的多状态问题,帮助读者理解其背后的原理,并展示如何设计高效的状态转移方程以优化问题求解过程。