河西无名式

月影星痕

动态规划分析总结——如何设计和实现动态规划算法

进行算法设计的时候,时常有这样的体会:如果已经知道一道题目可以用动态规划求解,那么很容易找到相应的动态规划算法并实现;动态规划算法的难度不在于实现,而在于分析和设计—— 首先你得知道这道题目需要用动态规划来求解。本文,我们主要在分析动态规划在算法分析设计和实现中的应用,讲解动态规划的原理、设计和实...

2014-07-19 19:13:08

阅读数:9681

评论数:5

动态规划第六讲——leetcode上的动态规划汇总(下)

接下来的几道题,都是有关路径问题,这可以说是DP问题的一种典型应用。路径有一个维度的;也有两个维度的。 Eg10:Climbing Stairs 这道题目比较简单,重在分析思路。 Eg11:Minimum Path Sum  分析:略 class Solution...

2014-07-21 15:22:49

阅读数:1534

评论数:0

动态规划第五讲——leetcode上的题目动态规划汇总(上)

本节,我们将对leetcode上有关DP问题的题目做一个汇总和分析。 1.题目来源 Interleaving String 动态规划 二叉树 Unique Binary Search Trees 动态规划 二叉树 Word Break 动态规划 N/A Word Brea...

2014-07-21 15:16:49

阅读数:3091

评论数:0

动态规划第4讲——计数问题中的DP算法

DP不仅广泛用于各种最优化问题,也常常用于排列组合的个数、概率期望计算等等,因为这些问题往往具有很好的“ 重叠子问题”特性,这些问题往往都起源于排列组合中的组合公式A(n, k) = A(n-1, k) + A(n-1, k-1) 例一:求解划分数 有n个无差别的物品,将他们划分成不超...

2014-07-21 15:00:46

阅读数:2107

评论数:0

动态规划第三讲——序列化的动态规划问题

在第三节中,我们将讨论序列化问题中的动态规划解法。这部分多半分为单序列和双序列等问题 例一:最长上升子序列。 最长上升子序列问题,有一个正整数数列,长度n在1000之内,元素a[i]在10^5之内,求最长递增子序列的长度。 分析一:发现问题的可分性质 如果我们采用穷举法,将有2^n的时间复杂...

2014-07-21 14:56:07

阅读数:1979

评论数:0

动态规划第二讲——完全背包与多重背包问题

上一节,我们讨论了01背包问题,说明了*递归与分治法 与 动态规划DP的区别和联系,介绍了缓存的概念*。以下,我们用DC、DP、cache分别表示分治法、动态规划和缓存。本节,我们讨论01背包的另外两种形似—— 完全背包和多重背包问题,分析DP问题的另外一些情况。 例一:完全背包问题 ...

2014-07-21 14:53:13

阅读数:5621

评论数:1

提示
确定要删除当前文章?
取消 删除
关闭
关闭