
动态规划
文章平均质量分 70
本专栏带你从基础开始,逐步深入理解动态规划的思想,让你不再为笔试、面试过程中的各种动态规划题目发愁,从容应对。
默归
这个作者很懒,什么都没留下…
展开
-
最长公共子序列(LCS)问题的解决及优化、最长公共子串问题
介绍了LCS问题的动态规划思想,并通过将其转化为LIS问题将时间复杂度优化到对数级;同时介绍了其简化问题最长公共子串的解法。原创 2022-06-27 21:40:07 · 4189 阅读 · 0 评论 -
动态规划入门(一):从爬楼梯开始
动态规划是运筹学的一个概念,是用来解决多阶段决策过程相关问题的一种思想,一般简称为DP(Dynamic Programming),所谓多阶段决策过程是指有一个活动的过程可以分成若干个相互联系的阶段,在它的每一阶段都需要做出决策,不同的决策将影响活动最终的结果,这个过程如下图所示,活动的初始状态为状态0,经过一次决策后转移到状态1,这是一个中间结果,经过n次决策后转移到状态n,而状态n即为活动最终的结果。与多阶段决策过程相关的问题大致有下面2种,它们是使用动态规划来解决的典型问题:最优化问题、决策方案数问题。原创 2022-06-19 22:33:28 · 1117 阅读 · 0 评论 -
最长上升子序列(LIS)问题的解决及优化
介绍了LIS问题的动态规划思想,并通过二分查找将其时间复杂度优化到对数级。原创 2022-06-08 20:09:41 · 1731 阅读 · 1 评论 -
从最大子段和到最大子矩阵和
介绍了最大子段和两种O(n)级别的算法:前缀和优化和动态规划,以及该问题的二维形式最大子矩阵和问题。原创 2022-04-04 20:51:38 · 198 阅读 · 0 评论 -
浅析数位DP
数位DP的搜索顺序是从高位出发,然后向低位递归搜索,也就是说数位DP是先搜索000,然后是001、002······009,然后才是010~019、020~029······以此类推直到n。由于最高位是处于受限状态的(我们一般都是从高位向低位搜索,最早搜索的是最高位,而最高位一定是受限的),只能搜到它在该位上对应的数字temp[pos]=2,也就是我们在这个位置上只能搜索0~2,对于这个位置上搜到的数,都是作为最高位的,比如搜到1,那么它代表的范围就是100~199。...原创 2019-08-04 00:56:20 · 297 阅读 · 0 评论