一道关于斐波那契序列的题

 

大致意思是定义 $f_0=f_1=1$,$f_i=f_{i-1}+f_{i-2}$​。
求$\Sigma^n_{i=0}f_if_{n-i}$​。

令$F_n=\Sigma^n_{i=0}f_if_{n-i}$。
$F_n-F_{n-1}=\Sigma^n_{i=0}f_if_{n-i}-\Sigma^{n-1}_{i=0}f_if_{n-1-i}$
$=f_0f_n+\Sigma^{n}_{i=1}f_if_{n-i}-\Sigma^{n-1}_{i=0}f_if_{n-1-i}$
$=f_0f_n+\Sigma^{n-1}_{i=0}f_if_{n-i}-\Sigma^{n-1}_{i=0}f_if_{n-1-i}$
=fn+Σi=0n−1fi(fn−i−fn−1−i)=f_n+\Sigma^{n-1}_{i=0}f_i(f_{n-i}-f_{n-1-i})=fn​+Σi=0n−1​fi​(fn−i​−fn−1−i​)
=fn+Σi=0n−1fi(fn−i−2)=f_n+\Sigma^{n-1}_{i=0}f_i(f_{n-i-2})=fn​+Σi=0n−1​fi​(fn−i−2​)
=fn+Fn−2=f_n+F_{n-2}=fn​+Fn−2​

所以,Fn=Fn−1+Fn−2+fnF_n=F_{n-1}+F_{n-2}+f_nFn​=Fn−1​+Fn−2​+fn​。
于是,Fn−1=Fn−2+Fn−3+fnF_{n-1}=F_{n-2}+F_{n-3}+f_nFn−1​=Fn−2​+Fn−3​+fn​,Fn−2=Fn−3+Fn−4+fnF_{n-2}=F_{n-3}+F_{n-4}+f_nFn−2​=Fn−3​+Fn−4​+fn​,二式三式相加并与一式作差,可消去 fnf_nfn​。得到 FFF 的递推式:Fn=2Fn−1+Fn−2−2Fn−3−Fn−4F_n=2F_{n-1}+F_{n-2}-2F_{n-3}-F_{n-4}Fn​=2Fn−1​+Fn−2​−2Fn−3​−Fn−4​,用矩阵加速求即可。

转移矩阵为:
{{2,1,0,0},
{1,0,1,0},
{-2,0,0,1},
{-1,0,0,0}}

初始化:F0=1,F1=2,F2=5,F3=10F_0=1, F_1=2, F_2=5, F_3=10F0​=1,F1​=2,F2​=5,F3​=10。

 

posted @ 2019-11-13 23:07  no_proper_name_left  阅读(191)  评论(0)    收藏  举报