求解递推数列的成套方法

Posted xiaovsun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求解递推数列的成套方法相关的知识,希望对你有一定的参考价值。

例子

  • 求解 (sumlimits_{i = 1} ^ n i ^ 2)

设它的递推式为

[R_0 = alpha ]

[R_n = R_{n - 1}+delta n^2 + gamma n + eta ]

已知 (alpha = eta = gamma = 0, delta = 1) 时,(R_n=sum_{i = 1}^n i^2)

因为递推式只与参数 (alpha, eta, gamma, delta) 相关,可以得出

[R_n = A(n) alpha + B(n) eta + C(n) gamma + D(n) delta ]

那么任意符合上面这个递推式的都可以用这个一般形式得出,强调一下,无论 (alpha,eta,gamma,delta) 取什么,(A(n),B(n),C(n),D(n)) 都是不变的

这启发我们用一些简单的函数来求解 (A(n), B(n), C(n), D(n))

带入函数1

  • 对于 (f(n) = 1)

[f_0 = 1 o alpha = 1 ]

[1 = 1 + delta n^2 + gamma n + eta o delta = gamma = eta = 0 ]

得出一个关系式

[1 = A(n) ]

带入函数2

  • 对于 (f(n) = n)

[f_0 = 0 o alpha = 0 ]

[n = n - 1 + delta n^2 + gamma n + eta o delta = gamma = 0, eta = 1 ]

又一个关系式

[n = B(n) ]

带入函数3

  • 对于 (f(n) = n^2)

[f_0 = 0 o alpha = 0 ]

[n^2=(n-1)^2 + gamma n + eta + delta n^2 o delta = 0, eta = -1, gamma = 2 ]

[n^2 = -B(x) + 2C(n) ]

跟上面的式子联立,可以解出 (C(n) = frac{n^2 + n} 2)

带入函数4

  • 对于 (f(n) = n^3)

[f_0 = 0 o alpha = 0 ]

[n^3=(n-1)^3 + gamma n + eta + delta n^2 o delta = 3, eta = 1, gamma = -3 ]

可以解出

[D(n) = n(n + frac 1 2) (n + 1) ]

这个式子是不是有些眼熟,对,它就是平方和公式,只要把 (delta) 设为 1,就可以发现 (D(n) = sum_{i = 1} ^ n i^2),一开始设它的目的也是这个

一般情况

从上面的例子可以看出,对已一个递推公式来说,最终的封闭形式只与项数 (n),和其中的变量有关

因此我们可以设出封闭形式,并带入简单函数进行求解

需要注意的是,设出的函数必须可解,当带入一个简单函数无法通过 (delta,eta...) 来得到递推式时,要么考虑换一个函数,要么增加一个变量

这就需要通过做题来增加数学经验了

以上是关于求解递推数列的成套方法的主要内容,如果未能解决你的问题,请参考以下文章

生成函数求解一般递推数列通项公式

矩阵乘法求解多项式递推问题

算法系列 -- 递归/递推优化

算法系列 -- 递归/递推优化

The Nth Item 南昌网络赛(递推数列,分段打表)

斐波那契数列小结