动态规划/线性DP
lfdanding
这个作者很懒,什么都没留下…
展开
-
整数的拆分1
整数划分问题是算法中的一个经典命题之一,有关这个问题的讲述在讲解到递归时基本都涉及到。 所谓整数划分,是指把一个正整数n写成如下形式: n=m1+m2+m3+....+mi;(其中mi为正整数,并且1}为n的一个划分。 如果{m1,m2,m3,....,mi}中的最大值不超过m,即max{m1,m2,m3,....,mi} 例如当n=4原创 2015-03-17 09:14:01 · 699 阅读 · 0 评论 -
整数的拆分2
母函数 下面我们从另一个角度,即“母函数”的角度来考虑这个问题。 所谓母函数,即为关于x的一个多项式G(x): 有G(x) = a0 + a1*x + a2*x^2 + a3*x^3 + ...... 则我们称G(x)为序列(a0, a1, a2,.....)的母函数。关于母函数的思路我们不做更过分析。 我们从整原创 2015-03-17 13:36:22 · 707 阅读 · 0 评论 -
整数的拆分3
递推关系的确定 设n的“最大零数不超过m” 的分划式个数为q(n, m),这里m q(n,n)=1+q(n, n-1) 等式右边的“1”表示n等于n本身;q(n,n-1)表示n的所有其他分划,即最大零数不超过n-1的分划。 q(n,m)=q(n,m-1)+q(n-m,m) (1转载 2015-03-17 17:08:44 · 608 阅读 · 0 评论