51nod1355:斐波那契的最小公倍数(数论)
题面
题意给出n个a,问LCM{ f(a) },f为斐波那契数。
知乎靠谱的题解
记住这两个路人性质就好
①容斥求LCM
\text{lcm}\{S\}=\displaystyle\prod_{T\subseteq S,T\ne \,\emptyset} \gcd\{T\}^{(-1)^{|T|+1}}
②对多个数也成立
\gcd(f_n,f_m)=f_{\gcd(n,m)}
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <ctime>
#include <cstdio>
#include <cstdlib>
#include <cstring>using namespace std;
#define mmst(a, b) memset(a, b, sizeof(a))
#define mmcp(a, b) memcpy(a, b, sizeof(b))typedef long long LL;const LL mo=1e9+7;
const int N=1010000;int n;
LL ans=1,f[N],g[N];
bool b[N];LL cheng(LL a,LL b)
{LL res=1;for(;b;b>>=1,a=a*a%mo)if(b&1)res=res*a%mo;return res;
}int main()
{g[1]=f[1]=1;for(int i=2;i<N;i++)f[i]=(f[i-1]+f[i-2])%mo,g[i]=f[i];for(int i=2;i<N;i++){LL inv=cheng(g[i],mo-2);for(int j=i+i;j<N;j+=i)g[j]=g[j]*inv%mo;}cin>>n;for(int i=1;i<=n;i++){int x;scanf("%d",&x);b[x]=1;}for(int i=1;i<N;i++){bool ok=0;for(int j=i;j<N;j+=i)if(b[j]){ok=true;break;}if(ok)ans=ans*g[i]%mo;}cout<<ans<<endl;return 0;
}
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 之前看唐老师题解学习 ...
- 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,最大公约数 ...
- ( 数论专题 )【 斐波那契通项公式 + 等比数列求和公式 】
( 数论专题 )[ 斐波那契通项公式 + 等比数列求和公式 ] 斐波那契通项公式( 证明略 ): 例题: 求当n趋向于无穷大,Sn等于什么,输出最简分数. 分子是斐波那契数列,分母是K的 i 次方, ...
- 数论——斐波那契数列
定义 斐波那契数,又称黄金分割数列. 递推公式是:F(n)=F(n−1)+F(n−2)F(n)=F(n-1)+F(n-2). 推导通项公式 设常数rr和ss,使得F(n)−r×F(n−1)=s×[F( ...
- 2018年东北农业大学春季校赛 K wyh的数列【数论/斐波那契数列大数取模/循环节】...
链接:https://www.nowcoder.com/acm/contest/93/K 来源:牛客网 题目描述 wyh学长特别喜欢斐波那契数列,F(0)=0,F(1)=1,F(n)=F(n-1)+F ...
- 数论 —— 斐波那契数列(Fibonacci)
[概述] 斐波那契数列(Fibonacci sequence),又称黄金分割数列,其指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,3 ...
最新文章
- 简述使用混合传递参数时的基本原则_JUnit 5参数化方法测试(一)
- php的辅助工具下载,PHPTools 工具包(让你的EditPlus可以调试PHP)
- Linux - 手册(manual)使用 详解
- 2204 Problem A(水)
- 驱动设计的思想:面向对象/分层/分离
- NTU 课程辅助笔记: NFA到DFA的转化
- 针对各组项目的改进意见
- 编程实现有关SMS4的2个程序之——编程实现线性变换模块
- when is SAP UI5 formatter called
- csv linux java,java 执行Linux 命令合并.csv文件
- 【Flink】flink on yarn 并行度设置高导致任务失败
- Cent OS 6/7 中通过yum安装软件时提示cannot find a valid baseurl...的解决方法
- 异常处理 Exceptions
- list scala 当前位置 遍历_Scala学习七之集合了解
- knx智能照明控制系统电路图_智能照明控制系统(KNX)讲解
- 数据中心服务器巡检方案,IDC机房巡检方案
- Cookie、Kaptcha
- DEV C++ 解决方案
- CentOS 7 Shipyard启动时一直显示省略号的解决办法
- vue-cli4 + cordova扫描二维码
热门文章
- 远程桌面连接接入路由器的电脑(Windows10)
- php 26个字母输出三角形,php使用for语句输出三角形的方法
- CISSP资料:独家笔记
- 基于JAVA的网上购书系统(附:源码 论文 项目运行视频)
- SQLzoo练习题回顾
- 带你7天玩转可视化建站平台
- tsv文件与csv文件的区别以及如何转换
- MFC下调用yolo_cpp_dll.dll
- 【python】取txt文件中的单词存到SQLite数据库,并且从bing词典爬取单词详情
- EMQ 助力阿里云洛神云网络构建新一代“亿级并发、百万级吞吐”NLB 网络型负载均衡系统