[学习笔记]生成函数

解决数列问题

1.线性齐次递推

顾名思义

$h_n=a_1*h_{n-1}+a_2*h_{n-2}+...+a_k*h_{n-k}+d_n$

其中$d_n$是关于n的一个多项式

可以递推

可以矩阵乘法

但是

最好不过的是有通项公式!

以下用特征方程来处理出这个通项公式

常系数线性齐次递推

$d_n=0$时,称为:常系数线性齐次递推

有:$h_n-a_1*h_{n-1}+a_2*h_{n-2}+...+a_k*h_{n-k}=0$——①

我们考虑用“等比数列的线性组合”来凑出真正h

定义①的特征方程为:

$x^k-a_1*x^{k-1}+a_2*x^{k-2}+...+a_k=0$

这个方程的k个解,设为g1,g2...gk

①对于每一个根q,${q}^n$都是h的一个可能的通项公式(把$q^{n-k}$)乘回去即可

②对于每一个m重根q,$q^n,nq^n,n^2q^n.....,n^{m-1}q^n$都是h可能的根

证明:

对于$x^n-a_1*x^{n-1}+a_2*x^{n-2}+...+a_k*x^{n-k}=0$——③

因式分解,有$.....(x-q)^m*x^{n-k}=0$

对③求导,再同时乘上x

得到$n*x^n-a_1*(n-1)*x^{n-1}+a_2*(n-2)*x^{n-2}+...+a_k*(n-k)*x^{n-k}=0$——④

考虑因式分解的情况,一定有$(....)(x-q)^{m-1}+(......)(x-q)^m$这样,x=q还是④的解

所以有解:nq^n

重复下去,$q^n,nq^n,n^2q^n.....,n^{m-1}q^n$都是h可能的根

证毕

所以一般来看:

线性组合也即:$h_n=c_1*{g_1}^n+{c_2}*n^m*{g_2}^n...$这样

 可以利用前几项待定系数得到

留下个问题:

为什么一定是这两种nq^n,q^n线性组合?

(可以得到的是,如果是线性组合形式,每一个公比一定是一个特征根,否则不能在每一个n都得到0)

非常系数线性齐次递推

 叠加原理:

证明:

然后对于一般的题

先求出常系数齐次的部分,

再求出非常系数的部分,然后叠加原理

2.一般生成函数——组合

我们考虑从多项式的角度去处理数列的问题

对于h,h1x+h2x^2+...+hn*x^n是一个无穷多项式

这个多项式就叫做h的生成函数

这个x没有什么实际意义

考虑通过x搞一些事情

3.指数生成函数——排列(多重集)

 

4.卷积生成函数

猜你喜欢

转载自www.cnblogs.com/Miracevin/p/10324653.html