【小组专题三:斐波那契专题】斐波那契 与其20个性质 | 泽肯朵夫表示 | 卢卡斯数 与其8个性质 | 常系数二次线性齐次序列 | 模板与例题

提一嘴
斐波那契数的氺是真的深_(;3/<)_
貌似因为Latex原因那个根号显示不出来?(编辑界面是有的)
α 与 β \alpha 与 \beta αβ 的地方,自动脑补 (1+根号5)/2 和(1-根号5)/2

斐波那契序列的定义

  • 斐波那契序列的递归定义
    f n = { 1 , n = 1 , 2 f n − 1 + f n − 2 n ≥ 3 f_n=\begin{cases} 1,& n=1,2\\ f_{n-1}+f_{n-2}& n\ge3 \end{cases} fn={1,fn1+fn2n=1,2n3

  • 斐波那契的广义定义

f n = { 0 n = 0 1 n = 1 f n − 1 + f n − 2 n ≥ 3 f n + 2 − f n + 1 n ≤ − 1 f_n=\begin{cases} 0&n=0\\ 1&n=1\\ f_{n-1}+f_{n-2}&n\ge3\\ f_{n+2}-f_{n+1}&n\le-1 \end{cases} fn=01fn1+fn2fn+2fn+1n=0n=1n3n1

  • 斐波那契的广义定义的前几项序列:
x-6-5-4-3-2-10123456
f(x)-85-32-110112358

[负项看着很有规律?规律在后面!]


斐波那契序列的基本性质

  • 性质 I \mathrm{I} I前n项和恒等式(4/10)

    • ∑ n k = 1 f k = f n + 2 − 1 \color{red}\underset{k=1}{\overset{n}{\sum}}f_k=f_{n+2}-1 k=1nfk=fn+21
    • 证明:叠进法: ∑ n k = 1 f k = ∑ n k = 1 ( f k + 2 − f k + 1 ) = f n + 2 − f 2 = f n + 2 − 1 \underset{k=1}{\overset{n}{\sum}}f_k=\underset{k=1}{\overset{n}{\sum}}(f_{k+2}-f_{k+1})=f_{n+2}-f_2=f_{n+2}-1 k=1nfk=k=1n(fk+2fk+1)=fn+2f2=fn+21
    • 用途:可以 O ( lg ⁡ N ) O(\lg N) O(lgN) 求前 N N N 项和
  • 性质 I I \mathrm{II} II前奇项和 (2/10)

    • ∑ 2 n k = 1 [    k   m o d   2    = 1 ] × f k = f 2 n \color{red}\underset{k=1}{\overset{2n}{\sum}}\Big[\;k\bmod2\;=1\Big]\times f_k=f_{2n} k=12n[kmod2=1]×fk=f2n

    • 证明:

      f 2 n = f 2 n − 1 + f 2 n − 2 = f 2 n − 1 + f 2 n − 3 + f 2 n − 4      ⋮ = f 2 n − 1 + f 2 n − 3 + ⋯ + f 3 + f 1 = ∑ 2 n k = 1 [    k   m o d   2    = 1 ] × f k \begin{aligned}f_{2n}&=f_{2n-1}+f_{2n-2}\\&=f_{2n-1}+f_{2n-3}+f_{2n-4}\\&\;\;\vdots\\&=f_{2n-1}+f_{2n-3}+\cdots+f_3+f_1\\&=\underset{k=1}{\overset{2n}{\sum}}\Big[\;k\bmod2\;=1\Big]\times f_k\end{aligned} f2n=f2n1+f2n2=f2n1+f2n3+f2n4=f2n1+f2n3++f3+f1=k=12n[kmod2=1]×fk

    • 用途:可以 O ( lg ⁡ N ) O(\lg N) O(lgN) 求前奇项和

  • 性质 I I I \mathrm{III} III前偶项和 (2/10)

    • ∑ 2 n k = 1 [    k   m o d   2    = 0 ] × f k = f 2 n + 1 − 1 \color{red}\underset{k=1}{\overset{2n}{\sum}}\Big[\;k\bmod2\;=0\Big]\times f_k=f_{2n+1}-1 k=12n[kmod2=0]×fk=f2n+11

    • 证明:前 2 n 2n 2n 全项 - 前 2 n 2n 2n 奇项即可。

      ∑ 2 n k = 1 [    k   m o d   2    = 0 ] × f k = ∑ 2 n k = 1 f k − ∑ 2 n k = 1 [    k   m o d   2    = 0 ] × f k = f 2 n + 2 − 1 − f 2 n = f 2 n + 1 − 1 \underset{k=1}{\overset{2n}{\sum}}\Big[\;k\bmod2\;=0\Big]\times f_k=\underset{k=1}{\overset{2n}{\sum}}f_k-\underset{k=1}{\overset{2n}{\sum}}\Big[\;k\bmod2\;=0\Big]\times f_k=f_{2n+2}-1-f_{2n}=f_{2n+1}-1 k=12n[kmod2=0]×fk=k=12nfkk=12n[kmod2=0]×fk=f2n+21f2n=f2n+11

    • 用途:可以 O ( lg ⁡ N ) O(\lg N) O(lgN) 求前偶项和

  • 性质 I V \mathrm{IV} IV前n项平方和 = 邻项积 (4/10)

    • ∑ n k = 1 f k 2 = f n × f n + 1 \color{red}\underset{k=1}{\overset{n}{\sum}}f_k^2=f_n\times f_{n+1} k=1nfk2=fn×fn+1

    • 证明:数学归纳证明:

      ∑ n + 1 k = 1 f k 2 = f n + f n + 1 + f n + 1 2 = f n + 1 ( f n + f n + 1 ) = f n + 1 × f n + 2 \begin{aligned}\underset{k=1}{\overset{n+1}{\sum}}f_k^2&=f_n+f_{n+1}+f_{n+1}^2\\&=f_{n+1}(f_n+f_{n+1})\\&=f_{n+1}\times f_{n+2}\end{aligned} k=1n+1fk2=fn+fn+1+fn+12=fn+1(fn+fn+1)=fn+1×fn+2

    • 用途:可以 O ( lg ⁡ N ) O(\lg N) O(lgN) 求前 n n n 项平方和

  • 性质 V \mathrm{V} V邻项积的和 (4/10)

    • f 1 f 2 + f 2 f 3 + ⋯ + f 2 n − 1 f 2 n = f 2 n 2 \color{red}f_1f_2+f_2f_3+\cdots+f_{2n-1}f_{2n}=f_{2n}^2 f1f2+f2f3++f2n1f2n=f2n2

    • 证明:数学归纳法证明:

      S n + 1 = f 1 f 2 + f 2 f 3 + ⋯ + f 2 n − 1 f 2 n + f 2 n f 2 n + 1 + f 2 n + 1 f 2 n + 2 = f 2 n 2 + f 2 n f 2 n + 1 + f 2 n + 1 f 2 n + 2 = f 2 n f 2 n + 2 + f 2 n + 1 f 2 n + 2 = f 2 n + 2 2 \begin{aligned}S_{n+1}&=f_1f_2+f_2f_3+\cdots+f_{2n-1}f_{2n}+f_{2n}f_{2n+1}+f_{2n+1}f_{2n+2}\\&=f_{2n}^2+f_{2n}f_{2n+1}+f_{2n+1}f_{2n+2}\\&=f_{2n}f_{2n+2}+f_{2n+1}f_{2n+2}\\&=f_{2n+2}^2\end{aligned} Sn+1=f1f2+f2f3++f2n1f2n+f2nf2n+1+f2n+1f2n+2=f2n2+f2nf2n+1+f2n+1f2n+2=f2nf2n+2+f2n+1f2n+2=f2n+22

    • 用途:可以 O ( lg ⁡ N ) O(\lg N) O(lgN) 求前 n n n 项邻项积的和

  • 性质 V I \mathrm{VI} VI前n项系数为幂的和( n ≥ 3 n\ge3 n3) (1.5/10)

    • f n + f n − 1 + f n − 2 + 2 f n − 3 + 4 f n − 4 + 8 f n − 5 + ⋯ + 2 n − 3 = 2 n − 1 f_n+f_{n-1}+f_{n-2}+2f_{n-3}+4f_{n-4}+8f_{n-5}+\cdots+2^{n-3}=2^{n-1} fn+fn1+fn2+2fn3+4fn4+8fn5++2n3=2n1

    • 证明:第二数归证明:

      S n + 1 = f n + 1 + f n + f n − 1 + 2 f n − 2 + ⋯ + 2 n − 2 ‾ = 2 n − 1 + f n + 1 + f n − 2 + 2 f n − 3 + ⋯ + 2 n − 3 = 2 n − 1 + f n + f n − 1 + f n − 2 + 2 f n − 3 + ⋯ + 2 n − 3 ‾ = 2 n − 1 + 2 n − 1 = 2 n \begin{aligned}S_{n+1}&=f_{n+1}+\underline{f_n+f_{n-1}+2f_{n-2}+\cdots+2^{n-2}}\\&=2^{n-1}+f_{n+1}+f_{n-2}+2f_{n-3}+\cdots+2^{n-3}\\&=2^{n-1}+\underline{f_n+f_{n-1}+f_{n-2}+2f_{n-3}+\cdots+2^{n-3}}\\&=2^{n-1}+2^{n-1}\\&=2^n\end{aligned} Sn+1=fn+1+fn+fn1+2fn2++2n2=2n1+fn+1+fn2+2fn3++2n3=2n1+fn+fn1+fn2+2fn3++2n3=2n1+2n1=2n

    • 用途:可以 O ( lg ⁡ N ) O(\lg N) O(lgN) 求前这么一个表达式

  • 性质 V I I \mathrm{VII} VII基本转换 (2/10)

    • f m + n = f m f n + 1 + f n f m − 1 \color{red}f_{m+n}=f_mf_{n+1}+f_nf_{m-1} fm+n=fmfn+1+fnfm1

    • 证明:

在这里插入图片描述

  • 性质 V I I I \mathrm{VIII} VIII显式公式 (5/10)

    • f n = 1 根 号 5 ( α n − β n ) \color{red}f_n=\frac{1}{根号5}\Big(\alpha^n-\beta^n\Big) fn=51(αnβn)
    • 其中 α = 1 + 根 号 5 2 , β = 1 − 根 号 5 2 \alpha=\frac{1+根号5}{2},\beta=\frac{1-根号5}{2} α=21+5β=215
    • 证明:在后方处。
  • 其他计算时需要掌握的基本恒等式:

    • 1.4.5: f 2 n = f n 2 + 2 f n − 1 f n f_{2n}=f_n^2+2f_{n-1}f_n f2n=fn2+2fn1fn
    • 1.4.6: f n − 2 + f n + 2 = 3 f n f_{n-2}+f_{n+2}=3f_n fn2+fn+2=3fn 易得
    • 1.4.10: f 2 n + 1 = f n + 1 2 + f n 2 f_{2n+1}=f_{n+1}^2+f_n^2 f2n+1=fn+12+fn2 在性质 X V I I I \mathrm{XVIII} XVIII 处证得
    • 1.4.11: f 2 n = f n + 1 2 − f n − 1 2 f_{2n}=f_{n+1}^2-f_{n-1}^2 f2n=fn+12fn12在性质 X V I I I \mathrm{XVIII} XVIII 处证得
    • 1.4.14: f n + 1 f n − 1 − f n 2 = ( − 1 ) n n ≥ 2 f_{n+1}f_{n-1}-f_n^2=(-1)^n\qquad n\ge2 fn+1fn1fn2=(1)nn2
    • 1.4.15: f n + 1 f n − f n − 1 f n − 2 = f 2 n − 1 f_{n+1}f_n-f_{n-1}f_{n-2}=f_{2n-1} fn+1fnfn1fn2=f2n1

卢卡斯数

  • 卢卡斯数的递归定义:

L n = { 1 n = 1 3 n = 2 L n − 1 + L n − 2 n ≥ 3 L_n=\begin{cases} 1& n=1\\ 3& n=2\\ L_{n-1}+L_{n-2}&n\ge3 \end{cases} Ln=13Ln1+Ln2n=1n=2n3

  • 卢卡斯的前几项序列:
x123456789101112
L(x)13471118294776123199322

卢卡斯数的基本性质

  • 性质 I \mathrm{I} I n n n 项和 (3/10)
    • ∑ n k = 1 L k = L n + 2 − 3 \color{red}\underset{k=1}{\overset{n}{\sum}}L_k=L_{n+2}-3 k=1nLk=Ln+23
  • 性质 I I \mathrm{II} II前奇项和 (3/10)
    • ∑ 2 n k = 1 [ k   m o d   2 = 1 ] × L k = L 2 n − 2 \color{red}\underset{k=1}{\overset{2n}{\sum}}\Big[k\bmod2=1\Big]\times L_k=L_{2n}-2 k=12n[kmod2=1]×Lk=L2n2
  • 性质 I I I \mathrm{III} III前偶项和 (3/10)
    • ∑ 2 n k = 1 [ k   m o d   2 = 0 ] × L k = L 2 n + 1 − 1 \color{red}\underset{k=1}{\overset{2n}{\sum}}\Big[k\bmod2=0\Big]\times L_k=L_{2n+1}-1 k=12n[kmod2=0]×Lk=L2n+11
  • 性质 I V \mathrm{IV} IV n n n 项平方和 (3/10)
    • ∑ n k = 1 L k 2 = L n L n + 1 − 2 \color{red}\underset{k=1}{\overset{n}{\sum}}L_k^2=L_nL_{n+1}-2 k=1nLk2=LnLn+12
  • 性质 V \mathrm{V} V卢卡斯数与斐波那契数的转换 (5/10)
    • L n = f n + 1 + f n − 1 \color{red}L_n=f_{n+1}+f_{n-1} Ln=fn+1+fn1
  • 性质 V I \mathrm{VI} VI卢卡斯数与斐波那契数的关系 (2/10)
    • 1.4.25 : f 2 n = f n L n f_{2n}=f_nL_n f2n=fnLn
    • 1.4.26 : 5 f n + 1 = L n + L n + 2 5f_{n+1}=L_n+L_{n+2} 5fn+1=Ln+Ln+2
    • 1.4.27 : L m + n = f m + 1 L n + f m L n − 1 L_{m+n}=f_{m+1}L_n+f_mL_{n-1} Lm+n=fm+1Ln+fmLn1
  • 性质 V I I \mathrm{VII} VII显式公式 (5/10)
    • L n = α n + β n \color{red}L_n=\alpha^n+\beta^n Ln=αn+βn
    • 其中 α = 1 + 根 号 5 2 , β = 1 − 根 号 5 2 \alpha=\frac{1+根号5}{2},\beta=\frac{1-根号5}{2} α=21+5β=215

正整数的泽肯朵夫(Zeckendorf)表示

  • 定义:正整数的泽肯朵夫表示是吧整数写成不同的斐波那契数的和的唯一表示。

    ​ 其中这些斐波那契数中没有任何两个是斐波那契序列的连续项

    ​ 并且不使用 f 1 = 1 f_1=1 f1=1这项。(但可以使用 f 2 = 1 f_2=1 f2=1这项)

  • 例子: 50 = 33 + 12 + 5 85 = 54 + 21 + 8 + 2 110 = 89 + 21 200 = 143 + 54 + 3 50=33+12+5\\85=54+21+8+2\\110=89+21\\200=143+54+3 50=33+12+585=54+21+8+2110=89+21200=143+54+3

  • 性质:每个正整数都有唯一的泽肯朵夫表示。

  • 证明(百度百科大法,太长啦!):

在这里插入图片描述


其他斐波那契的性质

  • 性质 I X \mathrm{IX} IX增长速率与函数趋势 (2/10)

    • f n ≤ α n − 1 f_n\le\alpha^{n-1} fnαn1
    • 对于 n ≥ 2 n\ge2 n2 的正整数成立
    • 其中 α = 1 + 根 号 5 2 \alpha=\frac{1+根号5}{2} α=21+5
  • 性质 X \mathrm{X} X组合数的和 (2/10)

    • ( n 0 ) + ( n − 1 1 ) + ( n − 2 2 ) + ⋯ + ( 1 n − 1 ) = f n + 1 \begin{pmatrix}n\\0\end{pmatrix}+\begin{pmatrix}n-1\\1\end{pmatrix}+\begin{pmatrix}n-2\\2\end{pmatrix}+\cdots+\begin{pmatrix}1\\n-1\end{pmatrix}=f_{n+1} (n0)+(n11)+(n22)++(1n1)=fn+1

    • 证明:运用第二数学归纳与组合数的性质来做:

      ( a b ) + ( a b + 1 ) = ( a + 1 b + 1 ) \begin{pmatrix}a\\b\end{pmatrix}+\begin{pmatrix}a\\b+1\end{pmatrix}=\begin{pmatrix}a+1\\b+1\end{pmatrix} (ab)+(ab+1)=(a+1b+1)

  • 性质 X I \mathrm{XI} XI组合数乘斐波那契的和 (4/10)

    • ∑ n k = 1 ( n j ) f k = f 2 n \color{red}\underset{k=1}{\overset{n}{\sum}}\begin{pmatrix}n\\j\end{pmatrix}f_k=f_{2n} k=1n(nj)fk=f2n
    • 证明:

∵ α 2 = α + 1 ,    β 2 = β + 1 ∴ f 2 n = α 2 n − β 2 n 根 号 5 = 1 根 号 5 ( ( α + 1 ) n − ( β + 1 ) n ) = 1 根 号 5 ( ∑ n k = 0 ( n k ) α k − ∑ n k = 0 ( n k ) β k ) = 1 根 号 5 ∑ n k = 0 ( n k ) ( α k − β k ) = ∑ n k = 1 ( n j ) f k □ \begin{aligned} &\because\alpha^2=\alpha+1,\;\beta^2=\beta+1\\ \therefore f_{2n}&=\frac{\alpha^{2n}-\beta^{2n}}{根号5}\\ &=\frac{1}{根号5}\Bigg(\Big(\alpha+1\Big)^n-\Big(\beta+1\Big)^n\Bigg)\\ &=\frac{1}{根号5}\Bigg(\underset{k=0}{\overset{n}{\sum}}\begin{pmatrix}n\\k\end{pmatrix}\alpha^k-\underset{k=0}{\overset{n}{\sum}}\begin{pmatrix}n\\k\end{pmatrix}\beta^k\Bigg)\\ &=\frac{1}{根号5}\underset{k=0}{\overset{n}{\sum}}\begin{pmatrix}n\\k\end{pmatrix}(\alpha^k-\beta^k)\\ &=\underset{k=1}{\overset{n}{\sum}}\begin{pmatrix}n\\j\end{pmatrix}f_k\qquad\Box \end{aligned} f2nα2=α+1,β2=β+1=5α2nβ2n=51((α+1)n(β+1)n)=51(k=0n(nk)αkk=0n(nk)βk)=51k=0n(nk)(αkβk)=k=1n(nj)fk

  • 性质 X I I \mathrm{XII} XII矩阵快速幂与斐波那契 (7/10)

    • F = [ 1 1 1 0 ] F=\begin{bmatrix}1&1\\1&0\end{bmatrix} F=[1110]
    • 则当 n ∈ Z + n\in \mathbb{Z}^+ nZ+ 时, F n = [ f n + 1 f n f n f n − 1 ] \color{red}F^n=\begin{bmatrix}f_{n+1}&f_n\\f_n&f_{n-1}\end{bmatrix} Fn=[fn+1fnfnfn1]
    • 证明:第二数归即可得证。
    • 用途:用这个才可 O ( N lg ⁡ N ) O(N\lg N) O(NlgN) 求得 f n f_n fn
  • 性质 X I I I \mathrm{XIII} XIII广义斐波那契数与斐波那契 (8/10)

    • 广义斐波那契数定义:
    • g n = { a n = 1 b n = 2 g n − 1 + g n − 2 n ≥ 3 g_n=\begin{cases}a&n=1\\b&n=2\\g_{n-1}+g_{n-2}&n\ge3\end{cases} gn=abgn1+gn2n=1n=2n3
    • 显式公式: g n = a f n − 2 + b f n − 1 n ≥ 3 \color{red}g_n=af_{n-2}+bf_{n-1}\qquad n\ge3 gn=afn2+bfn1n3
      • 证明:第二数归即可得证。
  • 性质 X I V \mathrm{XIV} XIV斐波那契数广义定义的负数公式 (5/10)

    • f ( n ) = { f ( − n ) n   i s   o d d − f ( − n ) n   i s   e v e n f(n)=\begin{cases}f(-n)&n\ is\ odd\\-f(-n)&n\ is\ even\end{cases} f(n)={f(n)f(n)n is oddn is even
    • 证明:简单第二数归+分类讨论即可得证。
  • 性质 X V \mathrm{XV} XV斐波那契数与公约数 (6/10)

    • 相关证明:参考dl博客:[Mark_ZZY 的博客]与樱花赞

    • 引理(1) gcd ⁡ ( f n , f n + 1 ) = 1 \color{red}\gcd(f_n,f_{n+1})=1 gcd(fn,fn+1)=1

      • 证明:辗转相减法

        Gcd(F[n+1],F[n])
        =Gcd(F[n+1]-F[n],F[n])
        =Gcd(F[n],F[n-1])
        =Gcd(F[2],F[1])
        =1
        
    • 引理(2) gcd ⁡ ( f n + m , f n ) = gcd ⁡ ( f n , f m ) \color{red}\gcd(f_{n+m},f_n)=\gcd(f_n,f_m) gcd(fn+m,fn)=gcd(fn,fm)

      • 证明:利用引理1和性质3(基本转换)

        Gcd(F[n+m],F[n])
        =Gcd(F[n+1]F[m]+F[n]F[m-1],F[n]);
        =Gcd(F[n+1]F[m],F[n]);
        =Gcd(F[n+1],F[n])*Gcd(F[m],F[n])
        =Gcd(F[m],F[n]);
        
    • (3) gcd ⁡ ( f n , f m ) = f gcd ⁡ ( n , m ) \color{red}\gcd(f_n,f_m)=f_{\gcd(n,m)} gcd(fn,fm)=fgcd(n,m)

      • 证明:利用引理2和辗转相除法

        I = gcd ⁡ ( f n , f m ) = gcd ⁡ ( f ( n   m o d   m ) , f m )      ⋮ = gcd ⁡ ( f gcd ⁡ ( n , m ) , f gcd ⁡ ( n , m ) ) = f gcd ⁡ ( n , m ) \begin{aligned}I&=\gcd(f_n,f_m)\\&=\gcd(f_{(n\bmod m)},f_m)\\&\;\;\vdots\\&=\gcd(f_{\gcd(n,m)},f_{\gcd(n,m)})\\&=f_{\gcd(n,m)}\end{aligned} I=gcd(fn,fm)=gcd(f(nmodm),fm)=gcd(fgcd(n,m),fgcd(n,m))=fgcd(n,m)

  • 性质 X V I \mathrm{XVI} XVI斐波那契数与完全平方数 (3/10)

    • 出处:斐波那契数与完全平方数
    • ∣ ∑ n k = 1 ( − 1 ) k + 1 f 2 k − 1 ∣ \Big | \underset{k=1}{\overset{n}{\sum}}(-1)^{k+1}f_{2k-1}\Big | k=1n(1)k+1f2k1 是完全平方数
    • 证明: I = f 1 − f 3 + f 5 − f 7 + ⋯ + ( − 1 ) n + 1 f 2 n − 1 = 1 − ( f 1 2 + f 2 2 ) + ( f 2 2 + f 3 2 ) − ( f 3 2 + f 4 2 ) + ⋯ = 1 − f 1 2 ( − f 2 2 + f 2 2 ) + ( f 3 2 − f 3 2 ) − f 4 2 ⋯ = ( − 1 ) n f n − 1 2 \begin{aligned}I&=f_1-f_3+f_5-f_7+\cdots+(-1)^{n+1}f_{2n-1}\\&=1-(f_1^2+f_2^2)+(f_2^2+f_3^2)-(f_3^2+f_4^2)+\cdots\\&=1-f_1^2(-f_2^2+f_2^2)+(f_3^2-f_3^2)-f_4^2\cdots\\&=(-1)^nf_{n-1}^2\end{aligned} I=f1f3+f5f7++(1)n+1f2n1=1(f12+f22)+(f22+f32)(f32+f42)+=1f12(f22+f22)+(f32f32)f42=(1)nfn12
    • I I I 加个绝对值之后就是该式子,易得是个完全平方数。
  • 性质 X V I I \mathrm{XVII} XVII斐波那契数与完全平方数2 (3/10)

    • ∑ n k = 1 ( − 1 ) n − k f n = f n − 1 − ( − 1 ) n \underset{k=1}{\overset{n}{\sum}}(-1)^{n-k}f_n=f_{n-1}-(-1)^n k=1n(1)nkfn=fn1(1)n
    • 式子为 I = f n − f n − 1 + f n − 2 − ⋯ + ( − 1 ) n + 1 f 1 I=f_n-f_{n-1}+f_{n-2}-\cdots+(-1)^{n+1}f_1 I=fnfn1+fn2+(1)n+1f1 ,与上式略有不同。
    • 证明:分类讨论即可。
  • 性质 X V I I I \mathrm{XVIII} XVIII两倍项关系 (2/10)

    • 出处:百度百科

    • f 2 n f n = f n − 1 + f n + 1 \frac{f_{2n}}{f_n}=f_{n-1}+f_{n+1} fnf2n=fn1+fn+1

    • 证明(好家伙百度百科都不给的要自己证明///)

      • 引理1: f 2 n = f n + 1 2 − f n − 1 2 f_{2n}=f_{n+1}^2-f_{n-1}^2 f2n=fn+12fn12

        • 引理2: f 2 n + 1 = f n + 1 2 + f n 2 f_{2n+1}=f_{n+1}^2+f_n^2 f2n+1=fn+12+fn2

          • 证明: n = 1 , 2 都 成 立 用 第 二 数 归 假 设 ∀ k ≤ 2 n + 3 都 满 足 f 2 k + 1 = f k + 1 2 + f k 2 ∴ f 2 n + 5 = 3 f 2 n + 3 − f 2 n + 1 = 3 ( f n + 2 2 + f n + 1 2 ) − ( f n + 1 2 + f n 2 ) = 3 f n + 2 2 + 2 f n + 1 2 − f n 2 n=1,2都成立\\用第二数归假设\forall k\le2n+3都满足 f_{2k+1}=f_{k+1}^2+f_k^2\\\therefore f_{2n+5}=3f_{2n+3}-f_{2n+1}=3(f_{n+2}^2+f_{n+1}^2)-(f_{n+1}^2+f_n^2)=3f_{n+2}^2+2f_{n+1}^2-f_n^2 n=1,2k2n+3f2k+1=fk+12+fk2f2n+5=3f2n+3f2n+1=3(fn+22+fn+12)(fn+12+fn2)=3fn+22+2fn+12fn2

            我们只需证明 3 f n + 2 2 + 2 f n + 1 2 − f n 2 = f n + 3 2 + f n + 2 2 3f_{n+2}^2+2f_{n+1}^2-f_n^2=f_{n+3}^2+f_{n+2}^2 3fn+22+2fn+12fn2=fn+32+fn+22 成立

            我们只需证明 2 f n + 2 2 + 2 f n + 1 2 − f n 2 = ( f n + 2 + f n + 1 ) 2 2f_{n+2}^2+2f_{n+1}^2-f_n^2=(f_{n+2}+f_{n+1})^2 2fn+22+2fn+12fn2=(fn+2+fn+1)2 成立

            我们只需证明 f n + 2 2 + ( f n + 1 + f n ) ( f n + 1 − f n ) = 2 f n + 2 f n + 1 f_{n+2}^2+(f_{n+1}+f_n)(f_{n+1}-f_n)=2f_{n+2}f_{n+1} fn+22+(fn+1+fn)(fn+1fn)=2fn+2fn+1 成立

            我们只需证明 f n + 2 + f n + 1 − f n = 2 f n + 1 f_{n+2}+f_{n+1}-f_n=2f_{n+1} fn+2+fn+1fn=2fn+1 成立(两边同时消掉 f n + 2 f_{n+2} fn+2)

            我们只需证明 f n + 2 − f n = f n + 1 f_{n+2}-f_n=f_{n+1} fn+2fn=fn+1 成立

            此式显然成立,故假设成立,故引理2成立。

        • 证明引理1:

          f 2 n + 1 = f n + 1 2 + f n 2 f_{2n+1}=f_{n+1}^2+f_n^2 f2n+1=fn+12+fn2

          f 2 n + 1 = f 2 n + f 2 n − 1 = f 2 n + f n 2 + f n − 1 2 f_{2n+1}=f_{2n}+f_{2n-1}=f_{2n}+f_n^2+f_{n-1}^2 f2n+1=f2n+f2n1=f2n+fn2+fn12

          联立两式 ∴ f 2 n = f n + 1 2 + f n 2 − f n 2 − f n − 1 2 = f n + 1 2 − f n − 1 2 □ \therefore f_{2n}=f_{n+1}^2+f_n^2-f_n^2-f_{n-1}^2=f_{n+1}^2-f_{n-1}^2\Box f2n=fn+12+fn2fn2fn12=fn+12fn12

      • 证明性质 X V I I I \mathrm{XVIII} XVIII

        f n f n − 1 + f n f n + 1 = ( f n + 1 − f n − 1 ) f n − 1 + ( f n + 1 − f n − 1 ) f n + 1 = f n + 1 2 − f n − 1 2 = f 2 n \begin{aligned}&f_nf_{n-1}+f_nf_{n+1}\\&=(f_{n+1}-f_{n-1})f_{n-1}+(f_{n+1}-f_{n-1})f_{n+1}\\&=f_{n+1}^2-f_{n-1}^2\\&=f_{2n}\end{aligned} fnfn1+fnfn+1=(fn+1fn1)fn1+(fn+1fn1)fn+1=fn+12fn12=f2n

        ∴ f 2 n f n = f n − 1 + f n + 1 □ \therefore \frac{f_{2n}}{f_n}=f_{n-1}+f_{n+1} \Box fnf2n=fn1+fn+1

  • 性质 X I X \mathrm{XIX} XIX斐波那契数与其他数字的关系(猜想) (2/10)

    • 斐波那契数与完全平方数:只有1和144为既是斐波那契数又是平方数
    • 斐波那契数与完全立方数:只有8既是斐波那契数又是立方数
    • 斐波那契数与三角数 : 可能只有 n n n=1,2,4,8,10 , f n f_n fn 是三角数
  • 性质 X X \mathrm{XX} XX斐波那契数与质数 (4/10)

    • 出处:【原】斐波那契质数(Fibonacci Prime)详解
    • 斐波那契质数
      • 定义:若某Fibonacci数与任何比它小的Fibonacci数互质,那么它就是Fibonacci质数。
    • 结论: f 3 和 f 4 是 斐 波 那 契 质 数 。 从 第 五 项 开 始 , 某 项 为 斐 波 那 契 质 数    ⟺    其 项 数 是 质 数 f_3 和 f_4 是斐波那契质数。从第五项开始,某项为斐波那契质数\iff 其项数是质数 f3f4

常系数的二次线性齐次递归关系

  • 定义 : 一个常系数的二次线性齐次递归关系是一个形如:

a n = c 1 a n − 1 + c 2 a n − 2 a_n=c_1a_{n-1}+c_2a_{n-2} an=c1an1+c2an2

​ 的方程。

  • 其中 c 1 , c 2 c_1,c_2 c1c2 为实数且 c 2 ≠ 0 c_2\ne0 c2=0
  • 性质:
    • 如果方程 r 2 − c 1 r − c 2 = 0 r^2-c_1r-c_2=0 r2c1rc2=0 有两个不同的根 r 1 , r 2 r_1,r_2 r1r2
    • 则序列 { a n } \{a_n\} {an} 的解当且仅当 a n = C 1 r 1 n + C 2 r 2 n \color{red}a_n=C_1r_1^n+C_2r_2^n an=C1r1n+C2r2n
    • 其中 n ∈ N n\in \mathbb{N} nN C 1 , C 2 C_1,C_2 C1C2 为常数,可以通过序列的前两项得到。

斐波那契进制/斐波那契编码

百度百科

  • 斐波那契进制:

base:

1(10) = 1(fib);

2(10) = 10(fib);

3(10) = 100(fib);

5(10) = 1000(fib);

8(10) = 10000(fib);

e.g.

4(10) = 3(10) + 1(10) = 101(fib);

6(10) = 5(10) + 1(10) = 1001(fib);

7(10) = 5(10) + 2(10) = 1010(fib);

12(10) = 8(10) + 3(10) + 1(10) = 10101(fib);

  • 斐波那契编码:
    • 就是把这个斐波那契进制数倒过来写,然后在末尾追加一个1。

一些模板

  • 矩阵快速幂来求 f n % P n < M A X _ L L f_n\%P\quad n<MAX\_LL fn%Pn<MAX_LL
/*
 _            __   __          _          _
| |           \ \ / /         | |        (_)
| |__  _   _   \ V /__ _ _ __ | |     ___ _
| '_ \| | | |   \ // _` | '_ \| |    / _ \ |
| |_) | |_| |   | | (_| | | | | |___|  __/ |
|_.__/ \__, |   \_/\__,_|_| |_\_____/\___|_|
        __/ |
       |___/
*/
#include<bits/stdc++.h>
#define show(x) std::cerr << #x << "=" << x << std::endl
using namespace std;
typedef long long ll;

const int MAX = 1e6+50;
const double EPS = 1e-10;
const long long MOD = 1e9+7;
typedef long long Elemtype;
const int SZ = 2;
struct Matrix{
    Elemtype mat[SZ][SZ];
}M1,M2,M3;

Matrix mul(Matrix x,Matrix y,ll sz){
    Matrix ans;
    for(int i=0;i<sz;++i){
        for(int j=0;j<sz;++j){
            ans.mat[i][j]=0;
            for(int k=0;k<sz;++k){
                ans.mat[i][j]+=(x.mat[i][k]*y.mat[k][j])%MOD;
            }
            ans.mat[i][j]%=MOD;
        }
    }
    return ans;
}
ll qpow(ll a, ll n)
{
    ll ans = 1;
    while(n){
        if(n&1){
            ans=ans*a%MOD;
        }
        n>>=1;
        a=a*a%MOD;
    }
    return ans;
}
Matrix Create_Matrix(ll sz){
    Matrix ans;
    for(ll i=0;i<sz;++i)
        for(ll j=0;j<sz;++j)
            if(i==j)ans.mat[i][j]=1;
            else ans.mat[i][j]=0;
    return ans;
}
Matrix M_qpow(Matrix x,ll n,ll sz)
{
    Matrix ans = Create_Matrix(sz);
    while(n){
        if(n&1){
            ans = mul(ans,x,sz);
        }
        n>>=1;
        x = mul(x,x,sz);
    }
    return ans;
}
int main()
{
    ll n;
    cin >> n;
    M1.mat[0][0]=1;		//构建2*2矩阵如下
    M1.mat[0][1]=1;		//1 1
    M1.mat[1][0]=1;		//1 0
    M1.mat[1][1]=0;

    M3 = M_qpow(M1,n-1,2);	//方法挺多的,也可以 M1^n次方然后取[1][0]
    cout << M3.mat[0][0];
	return 0;
}
  • 矩阵快速幂来求 f n % P n ≤ 1 0 30000000 f_n\%P\quad n\le 10^{30000000} fn%Pn1030000000
// luogu-judger-enable-o2
#include<bits/stdc++.h>
#define LL long long
using namespace std;
const int N=1e4,S=30000001;
char s[S];
LL pi[N],k[N],P;
inline LL gcd(register LL n,register LL m){while(m^=n^=m^=n%=m); return n;}
inline LL lcm(register LL n,register LL m){return n/gcd(n,m)*m;}
struct matrix
{
    LL a[3][3];
    matrix(){memset(a,0,sizeof(a));}
    matrix operator*(matrix x)
    {
        matrix s;
        for(register int i=1;i<=2;i++) for(register int j=1;j<=2;j++) for(register int k=1;k<=2;k++) s.a[i][j]=(s.a[i][j]+a[i][k]*x.a[k][j])%P;
        return s;
    }
    matrix operator^(register LL k)
    {
        matrix s=*this,e;
        e.a[1][1]=e.a[2][2]=1;
	for(;k;k>>=1,s=s*s) if(k&1) e=e*s; 
        return e;
    }
};
inline int power(register LL n)
{
    matrix a,ans;
    a.a[1][1]=a.a[1][2]=a.a[2][1]=1,a.a[2][2]=0;
    ans=a^n;
    return ans.a[1][2];
}
inline LL Get(register LL p)
{
    register int s=sqrt(p),tot=0;
    for(register int i=2;i<=s;++i)
	if(!(p%i))
	{
	    pi[++tot]=i,k[tot]=1;
	    while(!(p%i)) p/=i,k[tot]*=i;
	}
    for(register int i=1;i<=tot;++i) k[i]/=pi[i];
    if(p!=1) k[++tot]=1,pi[tot]=p;
    for(register int i=1;i<=tot;++i)
	if(pi[i]==2) k[i]*=3;
	else if(pi[i]==3) k[i]*=5;
	else if(pi[i]==5) k[i]*=20;
	else if(pi[i]%5==1||pi[i]%5==4) k[i]*=pi[i]-1;
	else k[i]*=(pi[i]+1)<<1;
    register LL ans=k[1];
    for(register int i=2;i<=tot;++i) ans=lcm(ans,k[i]);
    return ans;
}
int main()
{
    register int len;
    register LL m,n=0;
    scanf("%s%lld",s+1,&P),len=strlen(s+1);
    if(P==1) return cout<<0,0;
    m=Get(P);
    for(register int i=1;i<=len;++i) n=((n<<3)+(n<<1)+(s[i]^48))%m;
    if(!n) return cout<<0,0;
    if(n==1) return cout<<1,0;
    return cout<<power(n),0;    
}
  • 矩阵快速幂求广义斐波那契数
/*
 _            __   __          _          _
| |           \ \ / /         | |        (_)
| |__  _   _   \ V /__ _ _ __ | |     ___ _
| '_ \| | | |   \ // _` | '_ \| |    / _ \ |
| |_) | |_| |   | | (_| | | | | |___|  __/ |
|_.__/ \__, |   \_/\__,_|_| |_\_____/\___|_|
        __/ |
       |___/
*/

#define ll long long
using namespace std;

const int MAX = 2e5+50;
const ll  MOD = 1e9+7;

ll P;
const int SZ = 2;
struct Matrix{
    ll mat[SZ][SZ];
}M1,M2,M3;

Matrix mul(Matrix x,Matrix y,ll sz){
    Matrix ans;
    for(int i=0;i<sz;++i){
        for(int j=0;j<sz;++j){
            ans.mat[i][j]=0;
            for(int k=0;k<sz;++k){
                ans.mat[i][j]+=(x.mat[i][k]*y.mat[k][j])%P;
            }
            ans.mat[i][j]%=P;
        }
    }
    return ans;
}
Matrix Create_Matrix(ll sz){
    Matrix ans;
    for(ll i=0;i<sz;++i)
        for(ll j=0;j<sz;++j)
            if(i==j)ans.mat[i][j]=1;
            else ans.mat[i][j]=0;
    return ans;
}
Matrix M_qpow(Matrix x,ll n,ll sz)
{
    Matrix ans = Create_Matrix(sz);
    while(n){
        if(n&1){
            ans = mul(ans,x,sz);
        }
        n>>=1;
        x = mul(x,x,sz);
    }
    return ans;
}
int main()
{
    ll p,q,a_1,a_2,n;
    cin >> p >> q >> a_1 >> a_2 >> n >> P;

    M1.mat[0][0]=p;		//构建2*2矩阵如下
    M1.mat[0][1]=1;		//p 1
    M1.mat[1][0]=q;		//q 0
    M1.mat[1][1]=0;

    M3 = M_qpow(M1,n-2,2);	//方法挺多的,也可以 M1^n次方然后取[1][0]
    cout << (a_2 * M3.mat[0][0] % P + a_1 * M3.mat[1][0] % P) % P;
    return 0;
}
/**

*/


一些应用题

Fibonacci:OEIS

  1. F(n+1) = number of tilings of a 2 X n rectangle by 2 X 1 dominoes.

证明:简单递推

  1. F(n+2) = number of binary sequences of length n that have no consecutive 0’s
ll f[MAX];
ll g[MAX];
int main()
{
    int n;cin >> n;
    f[0] = g[0] = 1;
    for(int i = 1;i<=n;++i){
        f[i] = g[i-1];
        g[i] = f[i-1] + g[i-1];
        show4(i,f[i],g[i],f[i]+g[i]);
    }
    return 0;
}

证明:f和g都是Fibonacci(第二数归)

  1. F(n+2) = number of subsets of {1,2,…,n} that contain no consecutive integers.

课后练习题(难?)


下期预告(???)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值