[常系数(非)齐次线性递推]

从一个朴素的问题出发:我们需要求出一个序列b[],使得符合递推式 f(n)=i=1..kcif(ni) f ( n ) = ∑ i = 1.. k c i f ( n − i ) ,且前K项为给出的常数,记为A[]。就比如斐波那契数列,fib[1]=1,fib[2]=1, f(n)=f(n1)+f(n2) f ( n ) = f ( n − 1 ) + f ( n − 2 )

update 5.24

真·常系数齐次线性递推是这样子的…
你考虑矩阵乘法优化的做法,就是先搞出一个转移矩阵T,然后把读入的数列前i项做成一个向量v,那么答案就是 vTnk v T n − k 的最后一位嘛,为了方便,下面n-k写成n。
一个结论是,这个转移矩阵的特征多项式,和上面那个递推式长得差不多,即为 f(x)=xki=1..kcixki f ( x ) = x k − ∑ i = 1.. k c i x k − i ,这个可以把矩阵画出来看看。
根据特征多项式的性质,我们知道f(T)=0,那么 Tn=TnH(T)f(T) T n = T n − H ( T ) ∗ f ( T ) ,其中H(T)为任意多项式。那么我们就可以得到 Tn

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值