动态规划
静默静默
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
动态规划优化方法
之前我们学习过动态规划方法,但是并没有对DP进行系统细致的优化。今天来看一下DP的优化方法。 一、矩阵优化 线性代数教材中可能讲过,通过矩阵进行快速的重复运算(矩阵快速幂)。 (以下是矩阵快速幂的写法) 直接看题: 求斐波那契数列第n项余1e9+7后的值,其中1<=n<263 通过使用普通的动态规划(递推)显然会爆掉,矩阵加速就十分使用与这种线性的递推DP,构造矩阵再配上矩阵的快速幂,以logn的时间复杂度求出答案。 02 单调队列优化 多重背包的时候就可以用到,主要突出的是单调性。原创 2020-08-08 17:34:05 · 1911 阅读 · 0 评论 -
动态规划(Dynamic Programming) 背包问题初探
引例: 如何计算斐波那契数列? 递归 记忆化搜索 动态规划(递推) 动态规划:避免无用的重复计算,提高处理的效率。 将一个问题拆成几个子问题,分别求解这些子问题,即可推断出大问题的解。当子问题具有重叠性时 (同一个子问题多次出现),相比于搜索 (递归),利用 dp 就可以避免重复计算,节省时间。 适用条件 最优子结构:大问题的最优解可以由小问题的最优解推得。 无后效性:当前问题的解只与已求得问题 (过去) 的解有关,而与未求得的问题 (未来) 的解无关。 解决方法: 确定状态 状态是比较抽象的,如何正原创 2020-08-07 15:04:30 · 241 阅读 · 0 评论
分享