zoukankan      html  css  js  c++  java
  • 斐波那契数列相关

    首先这里斐波那契数列的递推式是 \(F_{i}=F_{i-1}+F_{i-2}(i \ge 2),F_{0}=0,F_{1}=1\)

    其生成函数 \(F(x) = \frac{x}{1-x-x^2}\)\(F_n = \frac{1}{\sqrt{5}} ((\frac{1+\sqrt{5}}{2})^n - (\frac{1 - \sqrt{5}}{2})^n)\)。这里不再多证。

    结论

    这里 贺的。

    1. \(\sum_{i = 0}^n F_i = F_{n+2}-1\)
    2. \(\sum_{i=0}^nF_i^2 = F_n F_{n+1}\)
    3. \(\sum_{i=1}^n F_{2i-1} = F_{2n}\)
    4. \(\sum_{i=0}^n F_{2i} = F_{2n+1}-1\)
    5. \(F_n=F_{n-m}F_{m-1}+F_{n-m+1}F_m\)
    6. \(F_{n-1}F_{n+1}=F_n^2+(-1)^n\)

    \(4\) 条都比较显然,归纳一下就好了。

    至于第 \(5\) 条,我们知道对于 \(m = 1\) 是成立的。仍然考虑归纳,考虑 \(m > 1\)。也就是说只要证明 \(F_{n-m}F_{m-1}+F_{n-m+1}F_m = F_{n-(m-1)}F_{(m-1)-1}+F_{n-(m-1)+1}F_{m-1}\)

    \[F_{n-(m-1)}F_{(m-1)-1}+F_{n-(m-1)+1}F_{m-1} \]

    \[F_{n-m+1}F_{m-2}+F_{n-m+2}F_{m-1} \]

    \[F_{n-m+1}F_{m-2}+(F_{n-m}+F_{n-m+1})F_{m-1} \]

    \[F_{n-m}F_{m-1}+(F_{n-m+1}F_{m-2}+F_{n-m+1}F_{m-1}) \]

    \[F_{n-m}F_{m-1}+F_{n-m+1}F_{m} \]

    于是就证好了。


    对于第 \(6\) 个,仍然考虑归纳。假设已经证明了 \(F_{n-1}F_{n+1}=F_n^2+(-1)^n\)

    \[F_nF_{n+2} \]

    \[F_nF_{n} + F_{n}F_{n+1} \]

    \[F_{n-1}F_{n+1} + F_{n}F_{n+1} + (-1)^n \]

    \[F_{n+1}^2 - (-1)^{n+1} \]

    数论相关结论

    1. \(\gcd(F_i, F_{i+1}) = 1\)

    观察到 \(\gcd(F_{i},F_{i + 1}) = \gcd(F_{i},F_{i}+F_{i-1}) = \gcd(F_{i},F_{i-1})\),可以归纳证明。

    1. \(\gcd(F_{n},F_{m}) = F_{\gcd(n,m)}\)

    不妨 \(n > m\)\(\gcd(F_{n},F_{m}) = \gcd(F_{n-m}F_{m-1}+F_{n-m+1}F_m,F_{m}) = \gcd(F_{n-m}F_{m-1},F_{m}) = \gcd(F_{n-m},F_m)\),就是辗转相除!得证。

    循环节

    这个是从 这里 贺的。

    求斐波那契数列在模 \(p\) 意义下的循环节 \(m\)

    考虑:

    \[F_n = \frac{1}{\sqrt{5}} ((\frac{1+\sqrt{5}}{2})^n - (\frac{1 - \sqrt{5}}{2})^n) \]

    \(A = \frac{1+\sqrt{5}}{2}\)\(B = \frac{1 - \sqrt{5}}{2}\),有 \(AB = -1\)

    首先特判掉比较特殊的质数 \(p = 2\) 以及 \(p = 5\)

    对于 \(p = 2\),循环节为 \(3\)\(p = 5\),循环节为 \(20\)

    接下来我们要解决 对于非 5 的奇质数

    5 是模 p 意义下的二次剩余

    那么 \(A^{p-1} \equiv 1 \pmod p\)\(B^{p - 1} \equiv 1 \pmod p\),所以 \(F_{p-1} \equiv 0 \pmod p\)\(F_{p} \equiv 1 \pmod p\)

    循环节 \(m | (p - 1)\)

    5 是模 p 意义下的非二次剩余

    那么有 \(5^{\frac{p-1}{2}}=-1\)

    所以有 \(A^{p} = \frac{1}{2^{-p}} (1+\sqrt{5})^n = 2^{-p} \sum_{i=0}^{p} \binom{p}{i} \sqrt{5}^i = \frac{1}{2} (1 + \sqrt{5}^{p}) = \frac{1 - \sqrt{5}}{2} = B\)

    同理有 \(B^{p} = A\)

    所以 \(F_{2p+2} = \frac{B^2A^2 - A^2B^2}{\sqrt{5}} = 0\)\(F_{2p+3} - \frac{B^2A^3 + A^2B^3}{\sqrt{5}} = \frac{A - B}{\sqrt{5}} = 1\)

    循环节 \(m | (2p + 2)\)


    于是我们会 \(p\) 是质数的情况了!

    考虑模数是 \(p^k\) 的情况!

    引理:如果 \(w \bmod p = 1\),那么 \(w^{p^k} \equiv 1(\bmod p^{k+1})\)

    考虑二项式定理。设 \(w = hp+1\)\(w^{p^k} = \sum_{i=0}^{p^k} \binom{p^k}{i} (hp)^i \equiv 0 \pmod {p^{k+1}}\)

    \(\bmod p\) 意义下的循环节是 \(m\)\(\bmod p^k\) 意义下的循环节是 \(m'\)

    我们知道:

    1. \(\frac{A^m - B^m}{\sqrt{5}} = 0\)\(A^m \equiv B^m \pmod {p}\)
    2. \(\frac{A^{m+1} - B^{m + 1}}{\sqrt{5}} = 1\)\(\frac{A^m(A-B)}{\sqrt{5}} = 1\)\(A^m \equiv B^m \equiv 1 \pmod {p}\)

    根据引理,所以得到了 \(A^{mp^{k-1}} = B^{mp^{k - 1}} \equiv 1 \pmod {p^{k}}\)

    所以模 \(p^k\) 意义下的循环节是 \(mp^{k - 1}\) 的因数。

    听说循环节就是 \(mp^{k - 1}\),不会证。


    考虑 \(P = p_1^{a_1} p_2^{a_2} ... p_k^{a_k}\)\(p_i^{a_i}\) 的循环节是 \(m_i\)

    \(P\) 的循环节显然是 \(\operatorname{lcm}_{1 \le i \le k} m_{i}\)


    考虑循环节 \(g(P)\) 除以原数 \(P\)。首先选 \(p - 1\) 一定是不优的。

    然后如果有循环节是 \(2p+2 = 2(p + 1) = 4 \frac{p + 1}{2}\) 因子,那么再选一个这样的因子不会变优。只会有 \(4\) 倍的贡献。剩下再多一个 \(5\) 也不优,所以只能多乘 \(\frac{3}{2}\),为 \(6\) 倍。

    否则只有 \(2 \times 5 = 10\),循环节是 \(60\),卡到了 \(6\) 倍。

    所以对于任意数 \(P\),都满足循环节 \(g(P)\) 一定有 \(g(P) \le 6P\)

    Bugaboo

    CF1264F Beautiful Fibonacci Problem

    题解

    首先该肯定的一点是 \(10^k (k \ge 3)\) 的循环节是 \(1.5 \times 10^k\)

    \(T = 1.5 \times 10^k\)

    结论: \(F_{uT + 1} \equiv F_{T+1}^u \pmod {10^{2k}}\)

    证明:考虑归纳。设已经证明了 \(u \le m\) 的。求证 \(u = m + 1\) 的。
    那么模 \(10^{2k}\) 意义下 \(F_{uT + 1} = F_{(u-1)T} F_T + F_{(u-1)T+1} F_{T+1} = F_{T+1}^u + F_{(u-1)T}F_{T}\)。而 \(T\) 是循环节的倍数,\(F_{(u-1)T}\)\(F_{T}\)\(\bmod {10^k}\) 意义下都是 \(0\)。所以就证毕了。

    然后考虑这题咋做?

    \(F_{T+1} \equiv 10^k r + 1 \pmod {10^{2k}}\)

    然后就有 \(F_{uT+1} \equiv 10^k ur + 1 \pmod {10^{2k}}\)

    然后好像瞎搞搞就行?设 \(r\)\(10^{k}\) 意义下的逆元是 \(r^{-1}\),就发现了取 \((b = ar^{-1} \bmod 10^{k})T+1\)\(e = (dr^{-1} \bmod 10^{k})T\)

    想到那个结论就随便做,没想到就 gg 了。

    不知道别人的题解在写什么,推完结论后还要搞一堆东西。

    CF193E Fibonacci Number

    题解

    考虑从 \(10^{k}\) 的答案推到 \(10^{k+1}\)

    \(\bmod 10^{k}\) 意义下斐波那契数循环节为 \(cyc_k\)

    那么对于一个 \(\bmod 10^k\) 意义下的答案 \(w\),枚举所有 \(x \bmod cyc_{k} = w\) 的满足 \(0 \le x < cyc_{k+1}\) 的数,并判断他们可不可行即可。

    时间复杂度不会证(

    ps. 最近打 vp 的时候遇到了一道挺像的,不过赛时因为学校网络差没交上去 /ll

  • 相关阅读:
    接口设计安全
    PHP通过OpenSSL生成证书、密钥并且加密解密数据,以及公钥,私钥和数字签名的理解
    OpenSSL使用小结
    sql的三种去重
    关于if语句&&运算符先判断空异常
    关于数据库可为null的datetime 字段
    sql server去重
    asp.net updatepanel 局部更新后调用js
    级联 -- 逻辑
    关于滑动验证的思路构思
  • 原文地址:https://www.cnblogs.com/zkyJuruo/p/15714271.html
Copyright © 2011-2022 走看看