博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[SDOI2017]数字表格【莫比乌斯反演】
阅读量:6281 次
发布时间:2019-06-22

本文共 1587 字,大约阅读时间需要 5 分钟。

\[\prod_{i=1}^n\prod_{j=1}^mf(gcd(i, j))\],其中\(f\)\(fibonacci\)数列
\(T\le 1000, 1\le n, m\le {10}^6\)
\[\begin{aligned}ans&=\prod_{i=1}^n\prod_{j=1}^mf(gcd(i, j)) \\ &=\prod_{d=1}^nf(d)^{\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j) == d]} \\ &=\prod_{d=1}^nf(d)^{\sum_{x=1}^{\lfloor\frac{n}{d}\rfloor}\mu(x)\lfloor\frac{n}{xd}\rfloor\lfloor\frac{m}{xd}\rfloor}\\ &=\prod_{T=1}^n(\prod_{d|T}f(d)^{\mu(\frac{T}{d})})^{\lfloor\frac{n}{T}\rfloor\lfloor\frac{m}{T}\rfloor} \end{aligned} \]
先暴力筛\(G(T)=\prod_{d|T}f(d)^{\mu(\frac{T}{d})}\)
就可以\(O(\sqrt{N}logN)\)的时间算\[\prod_{T=1}^nG(T)^{\lfloor\frac{n}{T}\rfloor\lfloor\frac{m}{T}\rfloor}\]

ll pow(ll x, ll k){ll res=1; while(k){if(k&1) res=res*x%p; x=x*x%p; k >>= 1;} return res;}void init(){    miu[1]=1; f[1]=invf[1]=1; g[1]=g[0]=1;    for(int i=2; i < Maxn; i++){        if(!pr[i]) pr[++ptot]=i, miu[i]=-1;        f[i]=(f[i-1]+f[i-2])%p; invf[i]=pow(f[i], p-2); g[i]=1;        for(int j=1, x; j <= ptot && (x=pr[j]*i) < Maxn; j++){            pr[x]=1; if(i%pr[j] == 0) break; miu[x]=-miu[i];        }    }    for(int i=1; i < Maxn; i++) if(miu[i]) for(int j=i; j < Maxn; j+=i)             g[j]=g[j]*(miu[i] > 0 ? f[j/i] : invf[j/i])%p;    for(int i=2; i < Maxn; i++) g[i]=g[i-1]*g[i]%p;}void solve(){    init(); int T=read();     while(T--){        n=read(), m=read(); if(n > m) swap(n, m); ll ans=1;        for(ll l=1, r=0; r < n; l=r+1){            r=min(n/(n/l), m/(m/l)); ll delta=g[r]*pow(g[l-1], p-2)%p;            ans=ans*pow(delta, (n/l)*(m/l))%p;        }        printf("%lld\n", ans);    }}

转载于:https://www.cnblogs.com/zerolt/p/9302224.html

你可能感兴趣的文章
SAP S/4HANA Cloud: Revolutionizing the Next Generation of Cloud ERP
查看>>
Mellanox公司计划利用系统芯片提升存储产品速度
查看>>
白帽子守护网络安全,高薪酬成大学生就业首选!
查看>>
ARM想将芯片装进人类大脑 降低能耗是一大挑战
查看>>
Oracle数据库的备份方法
查看>>
Selenium 自动登录考勤系统
查看>>
关于如何以编程的方式执行TestNG
查看>>
智能照明造福千家万户 家居智能不再是梦
查看>>
物联网如何跳出“看起来很美”?
查看>>
浅谈MySQL 数据库性能优化
查看>>
《UNIX/Linux 系统管理技术手册(第四版)》——1.10 其他的权威文档
查看>>
灵动空间 创享生活
查看>>
《UNIX网络编程 卷1:套接字联网API(第3版)》——8.6 UDP回射客户程序:dg_cli函数...
查看>>
不要将时间浪费到编写完美代码上
查看>>
《第一桶金怎么赚——淘宝开店创业致富一册通》一一第1章 创业梦想,怎样起步...
查看>>
基于容器服务的持续集成与云端交付(三)- 从零搭建持续交付系统
查看>>
《算法基础:打开算法之门》一3.4 归并排序
查看>>
高德开放平台开放源代码 鼓励开发者创新
查看>>
《高并发Oracle数据库系统的架构与设计》一2.5 索引维护
查看>>
《Exchange Server 2010 SP1/SP2管理实践》——2.4 部署外部网络环境
查看>>