51nod1355 斐波那契的最小公倍数
题目描述
F(n) = F(n-1) + F(n-2)
然后考虑神奇操作,我们设一个G函数。
然后原式就变成:
考虑枚举d:
然后对于指数上的东西,还有一个结论:
至于为什么是1,证明也是容斥。
因为每个元素都小于1e6,所以我们可以直接对每个元素算贡献了。
代码
#include<iostream> #include<cstdio> #define N 1000009 using namespace std; typedef long long ll; const int mod=1000000007; ll g[N],a[N],ans=1,maxn; bool vis[N]; int n; inline int rd(){int x=0;char c=getchar();bool f=0;while(!isdigit(c)){if(c=='-')f=1;c=getchar();}while(isdigit(c)){x=(x<<1)+(x<<3)+(c^48);c=getchar();}return f?-x:x; } inline ll power(ll x,ll y){ll ans=1;while(y){if(y&1)ans=ans*x%mod;x=x*x%mod;y>>=1;}return ans; } int main(){n=rd();for(int i=1;i<=n;++i)a[i]=rd(),maxn=max(maxn,a[i]),vis[a[i]]=1;g[1]=1;for(int i=2;i<=maxn;++i)g[i]=(g[i-1]+g[i-2])%mod;for(int i=1;i<=maxn;++i){ll ni=power(g[i],mod-2);for(int j=i*2;j<=maxn;j+=i)g[j]=g[j]*ni%mod;}for(int i=1;i<=maxn;++i){bool tag=0;for(int j=i;j<=maxn;j+=i)if(vis[j]){tag=1;break;}if(tag)ans=ans*g[i]%mod;}cout<<ans;return 0; }
转载于:https://www.cnblogs.com/ZH-comld/p/10427669.html
51nod1355 斐波那契的最小公倍数相关推荐
- [数论 斐波那契] 51nod1355. 斐波那契的最小公倍数
进入斐波那契领域的第一题- 不要脸地截图了Manchery的博客--原文在这里 #include <cstdio> #include <iostream> #include & ...
- [51nod1355]斐波那契的最小公倍数
$\text{lcm}$不好处理,考虑转为$\gcd$,主要是因为$(f_n,f_m)=f_{(n,m)}$ $\text{lcm}$的本质是指数取$\max$,$\gcd$的本质是指数取$\min$ ...
- 1355 斐波那契的最小公倍数
1355 斐波那契的最小公倍数 原题连接: https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1355 之前看唐老师题解学习 ...
- 51nod1355:斐波那契的最小公倍数(数论)
题面 题意给出n个a,问LCM{ f(a) },f为斐波那契数. 知乎靠谱的题解 记住这两个路人性质就好 ①容斥求LCM lcm{S}=∏T⊆S,T≠∅gcd{T}(−1)|T|+1lcm{S}=∏T ...
- 51nod 1355 斐波那契的最小公倍数
Upd2019.4.19 yy了一个新的做法 新的写法 之前的东西 链接:http://www.51nod.com/Challenge/Problem.html#!#problemId=1355 很神 ...
- 求水仙花数 以及 最大公约数最小公倍数 以及 冒泡法 以及字母大小写的转换 以及简单选择排序法 以及斐波那契数列
什么是水仙花数呢? 假设一个数ABC是一个三位数. 水仙花数就是 A*A*A +B*B*B +C*C*C = ABC; 水仙花的具体代码. 接着是最大公约数以及最小公倍数 如果两个数是ab,最大公约数 ...
- python斐波那契数列30_python的30个骚操作
1.冒泡排序 2.计算x的n次方的方法 3.计算a*a + b*b + c*c + -- 4.计算阶乘 n! 5.列出当前目录下的所有文件和目录名 6.把一个list中所有的字符串变成小写: 7.输出 ...
- 51Nod-1355-斐波那契的最小公倍数
ACM模版 描述 题解 找到一个不错的知乎链接,对这个问题有详细的回答,可以仔细看看 张一钊 大佬的讲解. <怎样求出K个斐波那契数的最小公倍数?> 很详细的讲解,Orz~~~除了膜拜,我 ...
- 大数斐波那契数列+取余
斐波那契序列 集锦 (转) [定理1] 标准Fibonacci序列(即第0项为0,第1项为1的序列)当N大于1时,一定有f(N)和f(N-1)互质 其实,结合"互质"的定义,和一个 ...
- 斐波那契数列谈矩阵(1)
斐波那契序列 集锦 (转) [定理1] 标准Fibonacci序列(即第0项为0,第1项为1的序列)当N大于1时,一定有f(N)和f(N-1)互质 其实,结合"互质"的定义,和一个 ...
最新文章
- ubuntu 14.04 下通过apt-get 安装jdk
- 深入Linux内核网络堆栈
- Python 生成账号密码算法
- Python标准库参考-sched
- mysql重启,全网独家首发!
- ubuntu安装python
- Express4.x API (一):application (译)
- 【交叉/综合/新兴】 2019年-中国计算机学会推荐国际学术会议和期刊目录(十)
- abb机器人伺服电机报闸是什么_ABB机器人伺服电机进油的分析及解决措施
- 计算机word表格ppt,计算机应用基础-04-WORD表格.ppt
- 数据库 - 数据字典及其使用
- 人工智能的味道 - 图像风格迁移 by Python
- 搞技术的人生技巧——装贪财
- 百度C++工程师的那些极限优化(内存篇)
- 红警2020版笔记本芯片级维修教材(含军工级)
- PET——文本分类的又一种妙解
- 树莓派——8、树莓派博通BCM2835芯片手册导读
- C#课程设计(购物平台)
- 电大2020春计算机形考作业,成教作业网提供国开电大2020年 建筑构造 形考任务1-4答案...
- 最有效的一种技术领导是“以身作则”