设 \((i,j)=gcd(i,j)\)

\[f_{i}=f_{i-1}+f_{i-2}
\]
\[f_{i}=f_{i-2}\times f_{1}+f_{i-1}\times f_{2}
\]
\[f_{i}=f_{i-1}\times f_{2}+f_{i-2}\times f_{1}
\]
\[f_{i}=(f_{i-3}+f_{i-2})\times f_{2}+f_{i-2}\times f_{1}
\]
\[f_{i}=f_{i-3}\times f_{2}+f_{i-2}\times f_{3}
\]
\[f_{i}=f_{i-k}\times f_{k-1}+F_{i-k+1}\times f_{k}
\]
\[f_{n+m}=f_{n-1}\times f_{m}+f_{n}\times f_{m+1}
\]
\[(f_{1},f_{2})=(f_{2},f_{3})=(f_{i},f_{i-1})=(f_{i}-f_{i-1},f_{i-1})=(f_{i-2},f_{i-1})=1
\]
\[f_{(i,j)}=(f_{i},f_{j})\rightarrow f_{j}\mid f_{i}=j\mid i
\]

因为 \(f_{2}=1\),则 \(f_{2}\mid 2x+1(x\in Z)\),但 \(2\nmid 2x+1 (x\in Z)\),故上述式子存在特例,且该特例唯一.

设 \(tot(i)\) 是 \(i\) 的约数的个数,将 \(i\) 用唯一分解定理分解为

\[i=\prod\limits_{i}p_{i}^{c_{i}}
\]

则有

\[tot(i)=\prod(c_{i}+1)
\]

那么

\[tot(i\times j)=\prod\limits_{i}p_{i}^{c_{i}}\times \prod\limits_{j}p_{j}^{c_{j}}=tot(i)\times tot(j)
\]

即 \(tot(x)\) 为 积性函数.

若质数 \(p\mid i\),则 \(min_{j}[j\mid (i\times p)]=p\),且 \(c_{p_{i}}=2\)

若质数 \(p\) 是 \(i\times p\) 的最小因子,不妨设

\[i=p^{c_{p}}\times\prod\limits_{i}p_{i}^{c_{p_{i}}}
\]
\[tot(i)=c_{p}\times \prod\limits_{i}c_{p_{i}}
\]

\[i\times p=p^{c_{p}+1}\times\prod\limits_{i}p_{i}^{c_{p_{i}}}
\]
\[tot(i\times p)=(c_{p}+1)\times \prod\limits_{i}c_{p_{i}}
\]

\[tot(i\times p)=\frac{tot(i)}{c_{p}}\times (c_{p}+1)
\]

所以我们引入 \(mintimes(i)\) 表示 \(i\) 的最小约数的 \(c_{i}\).

上述式子可以表示成

\[tot(i\times p)=\frac{tot(i)}{mintimes(i)}\times (mintimes(i)+1)
\]

上述推论对全部 \(p\in p_{i}\) 均成立

设 \(sqrtot(i)\) 为 \(i\) 的约数的平方和,与 \(tot(i)\) 类似,可得

\[sqrtot(x)=\prod_{i}\ \sum_{j=0}^{c_{i}}(p_{i}^{j})^{2}
\]
\[sqrtot(i\times j)=\prod_{i}\ \sum_{j=0}^{c_{i}}(p_{i}^{j})^{2}\times \prod_{i'}\ \sum_{j'=0}^{c_{i'}}(p_{i'}^{j'})^{2}=sqrtot(i)\times sqrtot(j)
\]

所以 \(sqrtot(x)\) 也为积性函数

同理,不妨设

\[p_{sum}=\sum_{j=0}^{c_{p_{i}}}(p^{j})^{2}
\]
\[sqrtot(i)=p_{sum}\times \prod_{i}\ \sum_{j=0}^{c_{i}}(p_{i}^{j})^{2}
\]

\[sqrtot(i\times p)=(p^{2}\times p_{sum}+1)\times \prod_{i}\ \sum_{j=0}^{c_{i}}(p_{i}^{j})^{2}
\]

维护 \(expmin(i)=p_{sum}\) 即可.

[C103] 斐波那契数列的更多相关文章

  1. C#求斐波那契数列第30项的值(递归和非递归)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. 斐波拉契数列加强版——时间复杂度O(1),空间复杂度O(1)

    对于斐波拉契经典问题,我们都非常熟悉,通过递推公式F(n) = F(n - ) + F(n - ),我们可以在线性时间内求出第n项F(n),现在考虑斐波拉契的加强版,我们要求的项数n的范围为int范围 ...

  3. js中的斐波那契数列法

    //斐波那契数列:1,2,3,5,8,13…… //从第3个起的第n个等于前两个之和 //解法1: var n1 = 1,n2 = 2; for(var i=3;i<101;i++){ var ...

  4. 剑指Offer面试题:8.斐波那契数列

    一.题目:斐波那契数列 题目:写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项.斐波那契数列的定义如下: 二.效率很低的解法 很多C/C++/C#/Java语言教科书在讲述递归函数的时 ...

  5. 算法: 斐波那契数列C/C++实现

    斐波那契数列: 1,1,2,3,5,8,13,21,34,....     //求斐波那契数列第n项的值 //1,1,2,3,5,8,13,21,34... //1.递归: //缺点:当n过大时,递归 ...

  6. 洛谷P1962 斐波那契数列 || P1349 广义斐波那契数列[矩阵乘法]

    P1962 斐波那契数列 大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f(n) = f(n-1) + f(n-2) (n ≥ 2 且 n 为整数 ...

  7. Python递归及斐波那契数列

    递归函数 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数.举个例子,我们来计算阶乘 n! = 1 * 2 * 3 * ... * n,用函数 fact(n)表示,可 ...

  8. 简单Java算法程序实现!斐波那契数列函数~

    java编程基础--斐波那契数列 问题描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 思路:可能出现的情况:(1) n=1 ,一种方法 ;(2)n=2 ...

  9. js 斐波那契数列(兔子问题)

    对于JS初学者来说,斐波那契数列一直是个头疼的问题,总是理不清思路. 希望看完这篇文章之后会对你有帮助. 什么是斐波那契数列 : 答: 斐波那契数列,又称黄金分割数列.因数学家列昂纳多·斐波那契(Le ...

  10. 剑指offer三: 斐波拉契数列

    斐波拉契数列是指这样一个数列: F(1)=1; F(2)=1; F(n)=F(n-1)+F(n); public class Solution { public int Fibonacci(int n ...

随机推荐

  1. IPFS 解决国内 docker mirror 封锁

    IPFS 解决国内 docker mirror 封锁 内容仅用于研究,帮助开发者学习技术知识,以建设祖国 IPFS 技术是当前 Web3 的主要基建设施,提供去中心化存储,以及 libp2p 的去中心 ...

  2. 深入浅出分析最近火热的Mem0个性化AI记忆层

    最近Mem0横空出世,官方称之为PA的记忆层,The memory layer for Personalized AI,有好事者还称这个是RAG的替代者,Mem0究竟为何物,背后的原理是什么,我们今天 ...

  3. vue table表格实现无缝滚动 鼠标进入可悬停

    <el-table ref="table" :data="tableData" :header-cell-style="{background: ...

  4. java web 开发框架编

    学习web 框架上开发需要的是安装  mysql 8.0  idea 2022 git  2.2.23  node 16以上 (新版本不好拉有些库了)jdk 最好是17以上 jdk8也是行的,反正不管 ...

  5. Jmeter函数助手14-TestPlanName

    TestPlanName函数获取当前测试计划保存的文件名称.该函数没有参数,直接引用即可${__TestPlanName}.

  6. 【Java】Reflection 反射机制 02获取类的一切

    先创建一个可演示的类 注解类 package cn.dai.Reflection.demo; import java.lang.annotation.ElementType; import java. ...

  7. MyBatis-Plus删除操作的几种基本方法

    delete删除的三种方法 一.根据 id 删除 @Test void deleteById(Integer id) { empMapper.deleteById(new Emp().getId()) ...

  8. FFmpeg开发笔记(四十三)使用SRS开启SRT协议的视频直播服务

    ​<FFmpeg开发实战:从零基础到短视频上线>一书在第10章介绍了轻量级流媒体服务器MediaMTX,通过该工具可以测试RTSP/RTMP等流媒体协议的推拉流.不过MediaMTX的功能 ...

  9. 【转载】 pytorch reproducibility —— pytorch代码的可复现性

    原文地址: https://www.jianshu.com/p/96767683beb6 作者:kelseyh来源:简书 ======================================= ...

  10. HP笔记本电脑——暗夜精灵2pro继电池鼓包后出现无法充电的问题,最后电量显示:0%可用(电源已接通,未充电)

    问题如题,最近使用暗夜精灵2pro笔记本(自己17年5月1节日购买)使用了四年,使用了第二年的时候出现电池鼓包问题于是自己花了不到200元在某宝上购入电池进行替换同时更新bios,正常使用到今年8月2 ...