Loading

斐波那契数列相关

首先这里斐波那契数列的递推式是 \(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

posted @ 2021-12-21 10:44  zhoukangyang  阅读(835)  评论(0编辑  收藏  举报