动态规划
文章平均质量分 83
memcpy0
希望探索文理结合的自由之路。
展开
-
LeetCode 1235. 规划兼职工作【排序+动规+二分】2022
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2024-05-06 01:34:49 · 386 阅读 · 0 评论 -
LeetCode 1531. 压缩字符串 II【动态规划】2575
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2024-01-01 17:26:27 · 607 阅读 · 0 评论 -
LeetCode 22. 括号生成【字符串,回溯;动态规划】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-10-24 01:35:58 · 263 阅读 · 0 评论 -
LeetCode 1425. 带限制的子序列和【动态规划,单调队列优化】2032
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-10-23 01:32:51 · 371 阅读 · 0 评论 -
LeetCode 2172. 数组的最大与和【状压DP,记忆化搜索;最小费用最大流】2392
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-10-22 03:11:25 · 303 阅读 · 0 评论 -
LeetCode 1879. 两个数组最小的异或值之和【记忆化搜索,状压DP,位运算】2145
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-10-22 01:25:53 · 245 阅读 · 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 · 164 阅读 · 0 评论 -
LeetCode 1277. 统计全为 1 的正方形子矩阵【动态规划】1613
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-10-08 16:04:55 · 428 阅读 · 0 评论 -
LeetCode LCR 103. 零钱兑换【完全背包,恰好装满背包的最小问题】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的。原创 2023-09-19 00:41:07 · 222 阅读 · 0 评论 -
LeetCode 847. Shortest Path Visiting All Nodes【状态压缩,BFS;动态规划,最短路】2200
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的。原创 2023-09-17 13:37:15 · 130 阅读 · 0 评论 -
LeetCode 1359. Count All Valid Pickup and Delivery Options【动态规划,组合数学】1722
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的。原创 2023-09-10 16:32:56 · 220 阅读 · 0 评论 -
LeetCode 2707. Extra Characters in a String【动态规划,记忆化搜索,Trie】1735
给你一个下标从 0 开始的字符串 和一个单词字典 。你需要将 分割成若干个 互不重叠 的子字符串,每个子字符串都在 中出现过。 中可能会有一些 额外的字符 不在任何子字符串中。请你采取最优策略分割 ,使剩下的字符 最少 。示例 1:示例 2:提示:我们有一个字符串 sss 和一个 dictionarydictionarydictionary 。目标是将 sss 分解为一个或多个不重叠的子字符串,每个子字符串都出现在 dictionarydictionarydictionary 中,并最大限度地原创 2023-09-05 15:36:08 · 320 阅读 · 0 评论 -
LeetCode 338. Counting Bits【动态规划,位运算】简单
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-09-05 01:03:56 · 318 阅读 · 0 评论 -
LeetCode 1857. Largest Color Value in a Directed Graph【拓扑排序,动态规划】困难
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-07-29 16:42:33 · 351 阅读 · 1 评论 -
LeetCode 2050. Parallel Courses III【记忆化搜索,动态规划,拓扑排序】困难
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-07-29 11:32:44 · 259 阅读 · 0 评论 -
LeetCode 918. Maximum Sum Circular Subarray【数组,动态规划】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-07-26 21:42:40 · 288 阅读 · 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 · 977 阅读 · 0 评论 -
LeetCode 1048. Longest String Chain【记忆化搜索,动态规划,哈希表,字符串】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-04-29 00:15:02 · 994 阅读 · 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 · 493 阅读 · 0 评论 -
LeetCode 1218. Longest Arithmetic Subsequence of Given Difference【哈希表,动态规划】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-04-22 12:56:46 · 422 阅读 · 0 评论 -
LeetCode 1027. Longest Arithmetic Subsequence【哈希表,动态规划】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-04-22 11:18:01 · 739 阅读 · 0 评论 -
牛客HJ16 购物单【01背包之依赖背包】中等
从第 2 行到第 m+1 行,第 j 行给出了编号为 j-1 的物品的基本数据,每行有 3 个非负整数 v p q (其中 v 表示该物品的价格( v原创 2023-04-21 22:32:50 · 89 阅读 · 0 评论 -
LeetCode 312. Burst Balloons【区间DP】困难
对于全开区间。原创 2023-04-21 18:35:54 · 523 阅读 · 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 · 441 阅读 · 0 评论 -
LeetCode 1105. Filling Bookcase Shelves【记忆化搜索,动态规划】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-04-20 12:57:30 · 179 阅读 · 0 评论 -
LeetCode 1416. Restore The Array【记忆化搜索,动态规划】困难
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-04-20 12:23:41 · 249 阅读 · 0 评论 -
LeetCode 1043. Partition Array for Maximum Sum【记忆化搜索,动态规划】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-04-20 10:16:07 · 476 阅读 · 0 评论 -
LeetCode 1626. Best Team With No Conflicts【排序,动态规划,数组】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-03-23 13:30:37 · 216 阅读 · 0 评论 -
LeetCode 1653. Minimum Deletions to Make String Balanced【字符串,动态规划,枚举】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的。原创 2023-03-08 15:44:14 · 355 阅读 · 0 评论 -
LeetCode 629. K Inverse Pairs Array【动态规划/前缀和】困难
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的仓库。在这一仓库中,你不仅可以看到LeetCode原题链接、题解代码、题解文章链接、同类.原创 2021-11-12 16:43:00 · 160 阅读 · 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 · 159 阅读 · 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 · 161 阅读 · 0 评论 -
LeetCode 221. Maximal Square【单调栈/悬线法/动态规划】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的仓库:https://github.com/memcpy0/LeetCode-Conqu.原创 2021-09-09 21:49:55 · 210 阅读 · 0 评论 -
LeetCode 85. Maximal Rectangle【单调栈/悬线法(动态规划)】困难
Given a rows x cols binary matrix filled with 0's and 1's, find the largest rectangle containing only 1's and return its area.Example 1:Input: matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]Output原创 2021-05-14 02:25:59 · 392 阅读 · 0 评论 -
LeetCode 516. Longest Palindromic Subsequence【字符串/动态规划】中等
Given a string s, find the longest palindromic subsequence's length in s.A subsequence is a sequence that can be derived from another sequence by deleting some or no elements without changing the order of the remaining elements.Example 1:Input: s = "bbb原创 2021-09-05 20:25:04 · 163 阅读 · 0 评论 -
LeetCode 413. Arithmetic Slices【数组/双指针/动态规划】中等
An integer array is called arithmetic if it consists of at least three elements and if the difference between any two consecutive elements is the same. For example, [1,3,5,7,9], [7,7,7,7], and [3,-1,-5,-9] are arithmetic sequences.Given an integer arra原创 2021-08-13 22:49:15 · 218 阅读 · 0 评论 -
LeetCode 1458. Max Dot Product of Two Subsequences【动态规划】困难
Given two arrays nums1 and nums2.Return the maximum dot product between non-empty subsequences of nums1 and nums2 with the same length.A subsequence of a array is a new array which is formed from the original array by deleting some (can be原创 2021-06-16 00:17:40 · 192 阅读 · 0 评论 -
【PAT顶级】1002 Business (35 分)【动态规划(01背包)】
As the manager of your company, you have to carefully consider, for each project, the time taken to finish it, the deadline, and the profit you can gain, in order to decide if your group should take this project. For example, given 3 projects as the follow原创 2021-05-22 19:02:31 · 462 阅读 · 0 评论 -
LeetCode C++ 1866. Number of Ways to Rearrange Sticks With K Sticks Visible【Dynamic Programming】困难
There are n uniquely-sized sticks whose lengths are integers from 1 to n. You want to arrange the sticks such that exactly k sticks are visible from the left. A stick is visible from the left if there are no longer sticks to the left of it.原创 2021-05-21 21:41:08 · 248 阅读 · 0 评论 -
LeetCode C++ 72. Edit Distance【String/Dynamic Programming】困难
Given two strings word1 and word2, return the minimum number of operations required to convert word1 to word2.You have the following three operations permitted on a word: Insert a character Delete a character Replace a characterExample 1:Input: wor原创 2021-05-21 15:24:32 · 178 阅读 · 0 评论