动态规划
文章平均质量分 86
memcpy0
希望探索文理结合的自由之路。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode 1320. 二指输入的的最小距离【多维DP】困难
根据上面的讨论,定义dfsifinger1finger2dfsifinger1finger2表示,在最后,手指 1 位于字母finger1finger_1finger1,手指 2 位于字母finger2finger_2finger2的情况下,输入wordwordword的前缀0i[0, i]0i的最小移动总距离。原创 2026-04-12 15:54:07 · 392 阅读 · 0 评论 -
LeetCode 3418. 机器人可以获得的最大金币数【记忆化搜索,递推,空间优化,网格图DP】1798
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2026-04-06 21:19:05 · 408 阅读 · 0 评论 -
LeetCode 1594. 矩阵的最大非负积【记忆化搜索+递推+空间优化】中等
思路和 152 题是一样的,除了计算最大路径乘积,还要计算最小路径乘积(因为负负得正)。定义dfsijdfs(i,j)dfsij表示从左上角00(0,0)00到ij(i,j)ij的最小路径乘积以及最大路径乘积dfsdfsdfs返回两个数)。设xgridijxgridij。分类讨论如何到达ij(i,j)ij如果是从上边过来,那么必须先到达i−1j(i−1,j)i−1j,我们需要知道从00(0,0)00。原创 2026-03-29 14:36:16 · 391 阅读 · 0 评论 -
LeetCode 152. 乘积最大子数组【动态规划+空间优化】中等
上面两个例子启发我们,需要在遍历numsnumsnums右端点下标为iii的子数组的最大乘积,记作fmaxif_{max}[i]fmaxi。右端点下标为iii的子数组的最小乘积,记作fminif_{min}[i]fmini。设xnumsix=nums[i]xnumsixxx单独组成一个子数组,那么fmaxixfmaxix。xxx和前面的子数组拼起来,也就是在右端点下标为i−1。原创 2026-03-29 14:34:17 · 435 阅读 · 0 评论 -
LeetCode 2573. 找出对应 LCP 矩阵的字符串【LCP+DP】2600
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2026-03-28 13:14:56 · 274 阅读 · 0 评论 -
LeetCode 1262. 可被三整除的最大和【贪心;记忆化搜索,动态规划】
根据上面的讨论,定义dfsijdfs(i, j)dfsij表示从nums0nums[0]nums0到numsinums[i]numsi中选数,后续还需选的数字之和sss满足smod3jsmod3j的前提下,sss的最大值。设xnumsixnumsi如果不选xxx,问题变成从nums0nums[0]nums0到numsi−1numsi−1。原创 2025-11-25 01:29:03 · 613 阅读 · 0 评论 -
LeetCode 3186. 施咒的最大总伤害【记忆化搜索;动态规划】【值域打家劫舍】
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2025-10-12 01:00:56 · 993 阅读 · 0 评论 -
LeetCode 1035. 不相交的线【动规,LCS,最简二维形式】中等
Given two non-empty binary trees s and t , check whether tree t has exactly the same structure and node values with a subtree of s . A subtree of s is a tree consists of a node in s and all of this node’s descendants. The tree s could also be considered as原创 2020-09-26 10:54:45 · 466 阅读 · 0 评论 -
LeetCode 1235. 规划兼职工作【排序+动规+二分】2022
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2024-05-06 01:34:49 · 754 阅读 · 0 评论 -
LeetCode 1531. 压缩字符串 II【动态规划】2575
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2024-01-01 17:26:27 · 1030 阅读 · 0 评论 -
LeetCode 22. 括号生成【字符串,回溯;动态规划】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-10-24 01:35:58 · 577 阅读 · 0 评论 -
LeetCode 1425. 带限制的子序列和【动态规划,单调队列优化】2032
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-10-23 01:32:51 · 648 阅读 · 0 评论 -
LeetCode 2172. 数组的最大与和【状压DP,记忆化搜索;最小费用最大流】2392
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-10-22 03:11:25 · 499 阅读 · 0 评论 -
LeetCode 1879. 两个数组最小的异或值之和【记忆化搜索,状压DP,位运算】2145
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-10-22 01:25:53 · 545 阅读 · 0 评论 -
LeetCode 1595. 连通两组点的最小成本【记忆化搜索,状压DP】2537
根据上面的讨论,定义dfsijdfsij表示第一组的01⋯i01⋯i和第二组的01⋯m−101⋯m−1相连,且第二组的集合jjj中元素未被连接时,最小成本是多少。枚举第一组的点iii和第二组的01⋯m−101⋯m−1其中一个点相连,取最小值,即dfsijmink0m−1dfsi−1j∖kcostikdfsijk0minm−1dfsi−1j∖。原创 2023-10-20 00:45:19 · 392 阅读 · 0 评论 -
LeetCode 1277. 统计全为 1 的正方形子矩阵【动态规划】1613
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-10-08 16:04:55 · 720 阅读 · 0 评论 -
LeetCode LCR 103. 零钱兑换【完全背包,恰好装满背包的最小问题】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的。原创 2023-09-19 00:41:07 · 446 阅读 · 0 评论 -
LeetCode 847. Shortest Path Visiting All Nodes【状态压缩,BFS;动态规划,最短路】2200
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的。原创 2023-09-17 13:37:15 · 269 阅读 · 0 评论 -
LeetCode 1359. Count All Valid Pickup and Delivery Options【动态规划,组合数学】1722
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的。原创 2023-09-10 16:32:56 · 338 阅读 · 0 评论 -
LeetCode 2707. Extra Characters in a String【动态规划,记忆化搜索,Trie】1735
给你一个下标从 0 开始的字符串 和一个单词字典 。你需要将 分割成若干个 互不重叠 的子字符串,每个子字符串都在 中出现过。 中可能会有一些 额外的字符 不在任何子字符串中。请你采取最优策略分割 ,使剩下的字符 最少 。示例 1:示例 2:提示:我们有一个字符串 sss 和一个 dictionarydictionarydictionary 。目标是将 sss 分解为一个或多个不重叠的子字符串,每个子字符串都出现在 dictionarydictionarydictionary 中,并最大限度地原创 2023-09-05 15:36:08 · 548 阅读 · 0 评论 -
LeetCode 338. Counting Bits【动态规划,位运算】简单
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-09-05 01:03:56 · 609 阅读 · 0 评论 -
LeetCode 1857. Largest Color Value in a Directed Graph【拓扑排序,动态规划】困难
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-07-29 16:42:33 · 644 阅读 · 1 评论 -
LeetCode 2050. Parallel Courses III【记忆化搜索,动态规划,拓扑排序】困难
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-07-29 11:32:44 · 525 阅读 · 0 评论 -
LeetCode 918. Maximum Sum Circular Subarray【数组,动态规划】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-07-26 21:42:40 · 467 阅读 · 0 评论 -
LeetCode 1079. Letter Tile Possibilities【哈希表,回溯,动态规划,排列组合】中等
根据上面的讨论,定义fif[i]fi表示用前iii种字符构造长为jjj的序列的方案数。设第iii种字符有cntcnt如果一个也不选,那么fijfi−1jfijfi−1j。如果选kkk个,那么需要从jjj个位置中选kkk个放第iii种字符,其余位置就是用前i−1i−1i−1种字符构造长为j−kj-kj−k的序列的方案数,所以有fijfi−1j−k⋅jkfijfi−1j−k⋅k。原创 2023-05-19 15:43:07 · 1292 阅读 · 0 评论 -
LeetCode 1048. Longest String Chain【记忆化搜索,动态规划,哈希表,字符串】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-04-29 00:15:02 · 1281 阅读 · 0 评论 -
LeetCode 1000. Minimum Cost to Merge Stones【记忆化搜索,动态规划,数组】困难
There are piles of arranged in a row. The pile has stones.A move consists of merging exactly consecutive piles into one pile, and the cost of this move is equal to the total number of stones in these piles.Return the minimum cost to merge all piles o原创 2023-04-22 17:26:03 · 784 阅读 · 0 评论 -
LeetCode 1218. Longest Arithmetic Subsequence of Given Difference【哈希表,动态规划】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-04-22 12:56:46 · 626 阅读 · 0 评论 -
LeetCode 1027. Longest Arithmetic Subsequence【哈希表,动态规划】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-04-22 11:18:01 · 1077 阅读 · 0 评论 -
牛客HJ16 购物单【01背包之依赖背包】中等
从第 2 行到第 m+1 行,第 j 行给出了编号为 j-1 的物品的基本数据,每行有 3 个非负整数 v p q (其中 v 表示该物品的价格( v原创 2023-04-21 22:32:50 · 301 阅读 · 0 评论 -
LeetCode 312. Burst Balloons【区间DP】困难
对于全开区间。原创 2023-04-21 18:35:54 · 796 阅读 · 0 评论 -
LeetCode 2369. Check if There is a Valid Partition For The Array【记忆化搜索,动态规划】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-04-20 19:34:06 · 725 阅读 · 0 评论 -
LeetCode 1105. Filling Bookcase Shelves【记忆化搜索,动态规划】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-04-20 12:57:30 · 405 阅读 · 0 评论 -
LeetCode 1416. Restore The Array【记忆化搜索,动态规划】困难
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-04-20 12:23:41 · 438 阅读 · 0 评论 -
LeetCode 1043. Partition Array for Maximum Sum【记忆化搜索,动态规划】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-04-20 10:16:07 · 824 阅读 · 0 评论 -
LeetCode 1626. Best Team With No Conflicts【排序,动态规划,数组】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-03-23 13:30:37 · 430 阅读 · 0 评论 -
LeetCode 1653. Minimum Deletions to Make String Balanced【字符串,动态规划,枚举】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的。原创 2023-03-08 15:44:14 · 515 阅读 · 0 评论 -
LeetCode 629. K Inverse Pairs Array【动态规划/前缀和】困难
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的仓库。在这一仓库中,你不仅可以看到LeetCode原题链接、题解代码、题解文章链接、同类.原创 2021-11-12 16:43:00 · 390 阅读 · 0 评论 -
LeetCode 1218. Longest Arithmetic Subsequence of Given Difference【动态规划,哈希表,贪心】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的仓库:https://github.com/memcpy0/LeetCode-Conqu.原创 2021-11-10 13:52:45 · 384 阅读 · 0 评论 -
LeetCode 42. Trapping Rain Water【数组/动态规划/单调栈/栈/双指针】困难
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的仓库:https://github.com/memcpy0/LeetCode-Conqu.原创 2021-11-04 09:51:02 · 395 阅读 · 0 评论
分享