大力推式子

现根据套路枚举\(\gcd(i,j)\)

\(ans=\Pi_{x=1}^nfib[x]^{\sum_{i=1}^{n/x}\sum_{j=1}^{n/x}[\gcd(i,j)=1]}\)

莫比乌斯反演

\(ans=\Pi_{x=1}^nfib[x]^{\sum_{i=1}^{n/x}\mu(i)(n/ix)(m/ix)}\)

把枚举\(i\)提出来,改成枚举\(ix\),里面还是枚举\(x\)

\(ans=\Pi_{i=1}^n\Pi_{x|i}fib[x]^{\mu(i/x)(n/i)(m/i)}\)

有一个\((n/i)(m/i)\),这个明显可以数论分块,但那个\(\mu(i/x)\)就不太好搞了,把他压进去

\(ans=\Pi_{i=1}^n(\Pi_{x|i}fib[x]^{\mu(i/x)})^{(n/i)(m/i)}\)

就可以预处理\(f[i]=(\Pi_{x|i}fib[x]^{\mu(i/x)})\)了

#include<bits/stdc++.h>
#define il inline
#define vd void
#define mod 1000000007
#define Mod 1000000006
typedef long long ll;
il int gi(){
int x=0,f=1;
char ch=getchar();
while(!isdigit(ch)){
if(ch=='-')f=-1;
ch=getchar();
}
while(isdigit(ch))x=x*10+ch-'0',ch=getchar();
return x*f;
}
int pri[1000010],pr,mu[1000010],yes[1000010];
int fib[1000010],ifib[1000010];
int f[1000010],g[1000010];
il int Pow(int x,int y){
int ret=1;
while(y){
if(y&1)ret=1ll*ret*x%mod;
x=1ll*x*x%mod;y>>=1;
}
return ret;
}
int main(){
mu[1]=1;
for(int i=2;i<=1000000;++i){
if(!yes[i])mu[i]=-1,pri[++pr]=i;
for(int j=1;i*pri[j]<=1000000&&j<=pr;++j){
yes[i*pri[j]]=1;
if(i%pri[j]==0){mu[i*pri[j]]=0;break;}
mu[i*pri[j]]=-mu[i];
}
}
fib[1]=1;for(int i=2;i<=1000000;++i)fib[i]=(fib[i-1]+fib[i-2])%mod;
for(int i=1;i<=1000000;++i)ifib[i]=Pow(fib[i],mod-2);
for(int i=1;i<=1000000;++i)f[i]=1;
for(int i=1;i<=1000000;++i)
for(int j=i;j<=1000000;j+=i)
if(mu[j/i]==1)f[j]=1ll*f[j]*fib[i]%mod;
else if(mu[j/i]==-1)f[j]=1ll*f[j]*ifib[i]%mod;
for(int i=2;i<=1000000;++i)f[i]=1ll*f[i-1]*f[i]%mod;
g[0]=1;for(int i=1;i<=1000000;++i)g[i]=Pow(f[i],mod-2);
int T=gi(),n,m,ans;
while(T--){
n=gi(),m=gi();
if(n>m)std::swap(n,m);
ans=1;
for(int i=1;i<=n;++i){
int j=std::min(n/(n/i),m/(m/i));
ans=1ll*ans*Pow(1ll*f[j]*g[i-1]%mod,(int)(1ll*(n/i)*(m/i)%Mod))%mod;
i=j;
}
printf("%d\n",ans);
}
return 0;
}

洛咕 P3704 [SDOI2017]数字表格的更多相关文章

  1. bzoj 4816: 洛谷 P3704: [SDOI2017]数字表格

    洛谷很早以前就写过了,今天交到bzoj发现TLE了. 检查了一下发现自己复杂度是错的. 题目传送门:洛谷P3704. 题意简述: 求 \(\prod_{i=1}^{N}\prod_{j=1}^{M}F ...

  2. 洛谷P3704 [SDOI2017]数字表格

    题目描述 Doris刚刚学习了fibonacci数列.用f[i]f[i] 表示数列的第ii 项,那么 f[0]=0f[0]=0 ,f[1]=1f[1]=1 , f[n]=f[n-1]+f[n-2],n ...

  3. 洛谷 P3704 [SDOI2017]数字表格(莫比乌斯函数)

    题面传送门 题意: 求 \[\prod\limits_{i=1}^n\prod\limits_{j=1}^mfib_{\gcd(i,j)} \] \(T\) 组测试数据,\(1 \leq T \leq ...

  4. 洛谷P3704 [SDOI2017]数字表格(莫比乌斯反演)

    传送门 yyb大佬太强啦…… 感觉还是有一点地方没有搞懂orz //minamoto #include<cstdio> #include<iostream> #include& ...

  5. 洛谷 P3704 SDOI2017 数字表格

    题意: 给定两个整数 \(n, m\),求: \[\prod_{i = 1} ^ n \prod_{j = 1} ^ m \operatorname{Fib}_{\gcd\left(n, m\righ ...

  6. P3704 [SDOI2017]数字表格

    P3704 [SDOI2017]数字表格 链接 分析: $\ \ \ \prod\limits_{i = 1}^{n} \prod\limits_{j = 1}^{m} f[gcd(i, j)]$ $ ...

  7. P3704 [SDOI2017]数字表格 (莫比乌斯反演)

    [题目链接] https://www.luogu.org/problemnew/show/P3704 [题解] https://www.luogu.org/blog/cjyyb/solution-p3 ...

  8. 洛谷3704 [SDOI2017] 数字表格 【莫比乌斯反演】

    题目分析: 比较有意思,但是套路的数学题. 题目要求$ \prod_{i=1}^{n} \prod_{j=1}^{m}Fib(gcd(i,j)) $. 注意到$ gcd(i,j) $有大量重复,采用莫 ...

  9. luogu P3704 [SDOI2017]数字表格

    传送门 我是真的弱,推式子只能推一半 下面假设\(n<m\) 考虑题目要求的东西,可以考虑每个gcd的贡献,即\[\prod_{d=1}^{n}f[d]^{\sum_{i=1}^{\lfloor ...

随机推荐

  1. Web Api通过文件流下载文件到本地实例

    最近项目里面需要和C++的客户端互动,其中一个接口就是需要提供文件下载的接口,保证C++项目调用这个接口的时候能够正常下载文件到本地.参考了一下网上的代码,其原理就是读取服务器上指定路径的文件流,并将 ...

  2. Prometheus Node_exporter 之 Disk Datail /proc/diskstats

    Disk Datail /proc/diskstats 1. Disk IOps Completed type: GraphUnit: I/O ops/sec(iops)Label: IO read( ...

  3. UNIX高级环境编程(16)文件系统 < 雨后 >

    来点绿色放松一下眼睛吧 :) 文件系统是对文件和目录的组织集合. 一 设备文件 设备文件和系统的某个设备相对应. 设备驱动程序 处理设备的所有IO请求. 提供了一致的API接口,对应于系统调用的ope ...

  4. [Spark Core] Spark 实现气温统计

    0. 说明 聚合气温数据,聚合出 MAX . MIN . AVG 1. Spark Shell 实现 1.1 MAX 分步实现 # 加载文档 val rdd1 = sc.textFile(" ...

  5. 【转】Linux思维导图

    [原文]https://www.toutiao.com/i6591690511763898888/ 1.Linux学习路径: 2.Linux桌面介绍: 3.FHS(文件系统目录标准): 4.Linux ...

  6. Coursera-AndrewNg(吴恩达)机器学习笔记——第三周编程作业(逻辑回归)

    一. 逻辑回归 1.背景:使用逻辑回归预测学生是否会被大学录取. 2.首先对数据进行可视化,代码如下: pos = find(y==); %找到通过学生的序号向量 neg = find(y==); % ...

  7. 阿里八八Alpha阶段Scrum(12/12)

    今日进度 俞鋆: 和前端对接,完成了注册接口的对接写了一部分数据同步接口. 李嘉群: 完成了注册界面与服务器的对接 黄梅玲: json数据解析并在listview中显示(还未完成) 王国超: 今天开始 ...

  8. 【2017下集美大学软工1412班_助教博客】个人作业2——APP案例分析

    作业要求 个人作业2:APP案例分析 评分结果 按从高到低排列 学号后三位 第二次作业 Total 008 APP案例分析 23 044 第2次作业 19.5 011 App案例分析--XBMC 19 ...

  9. Django商城项目笔记No.2项目准备工作

    Django商城项目笔记No.2项目准备工作 接着上篇开始,创建好工程之后,随之而来的是怎么配置工程,这篇文章记录如何进行相关的配置 1.pycharm打开工程,进行相关的配置 通过pycharm打开 ...

  10. 打开Excel时提示“向程序发送命令时出现问题”

    Excel界面中点击“文件”,选择“选项”,在弹出的“Excel选项”对话框中依次点击“高级”-“常规”,然后取消勾选”忽略使用动态数据交换(DDE)的其他应用程序”: