loj SDOI2017数字表格 先存下

\(\prod \limits_{i=1}^{n}\prod\limits_{j=1}^{m}f[gcd(i,j)]\)
\(\prod\limits_{k=1}^{n}f[k]^{\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}[gcd(i,j)==k]}\)
幂我们很熟悉
就是
\(g(x)=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}[gcd(i,j)==x]=\sum\limits_{i=1}^{\frac{n}{x}}\sum\limits_{j=1}^{\frac{m}{x}}[gcd(i,j)==1]\)
\(f(x)=\sum\limits_{x|d}^ng(d)=\frac{n}{x}\frac{m}{x}\)
\(g(x)=\sum\limits_{x|d}^n\mu(\frac{d}{x})f(d)\)
\(g(x)=\sum\limits_{x|d}^n\mu(\frac{d}{x})\frac{n}{d}\frac{m}{d}\)
\(g(x)=\sum\limits_{d=1}^{n/x}\mu(d)\frac{n}{xd}\frac{m}{xd}\)
带回去
\(\prod\limits_{k=1}^{n}f[k]^{\sum\limits_{d=1}^{n/k}\mu(d)\frac{n}{dk}\frac{m}{dk}}\)
令i=d*k
\(\prod\limits_{k=1}^{n}f[k]^{\sum\limits_{k|i}^{n}\mu(i/k)\frac{n}{i}\frac{m}{i}}\)
\(\prod\limits_{k=1}^{n}\prod\limits_{k|i}^{n}f[k]^{\mu(i/k)\frac{n}{i}\frac{m}{i}}\)
\(\prod\limits_{i=1}^{n}\prod\limits_{k|i}^{n}f[k]^{\mu(i/k)\frac{n}{i}\frac{m}{i}}\)
设\(Au(i)=\prod\limits_{k|i}^{n}f[k]^{\mu(i/k)}\)
\(ans=\prod\limits_{i=1}^{n}Au(i)^{\frac{n}{i}\frac{m}{i}}\)

原文地址:https://www.cnblogs.com/dsrdsr/p/10383037.html

时间: 2024-09-29 04:50:10

loj SDOI2017数字表格 先存下的相关文章

[Sdoi2017]数字表格

[Sdoi2017]数字表格 http://www.lydsy.com/JudgeOnline/problem.php?id=4816 Time Limit: 50 Sec  Memory Limit: 128 MB Description Doris刚刚学习了fibonacci数列.用f[i]表示数列的第i项,那么 f[0]=0 f[1]=1 f[n]=f[n-1]+f[n-2],n>=2 Doris用老师的超级计算机生成了一个n×m的表格,第i行第j列的格子中的数是f[gcd(i,j)],其

【BZOJ4816】[Sdoi2017]数字表格 莫比乌斯反演

[BZOJ4816][Sdoi2017]数字表格 Description Doris刚刚学习了fibonacci数列.用f[i]表示数列的第i项,那么 f[0]=0 f[1]=1 f[n]=f[n-1]+f[n-2],n>=2 Doris用老师的超级计算机生成了一个n×m的表格,第i行第j列的格子中的数是f[gcd(i,j)],其中gcd(i,j)表示i,j的最大公约数.Doris的表格中共有n×m个数,她想知道这些数的乘积是多少.答案对10^9+7取模. Input 有多组测试数据. 第一个一

BZOJ 4816: [Sdoi2017]数字表格

二次联通门 : BZOJ 4816: [Sdoi2017]数字表格 /* BZOJ 4816: [Sdoi2017]数字表格 莫比乌斯反演 妈呀,我的μ没有啦 */ #include <cstdio> #include <iostream> #define rg register #define Max 1000050 #define mo 1000000007 inline int min (int a, int b) { return a < b ? a : b; } i

[BZOJ4816][SDOI2017]数字表格(莫比乌斯反演)

4816: [Sdoi2017]数字表格 Time Limit: 50 Sec  Memory Limit: 128 MBSubmit: 1259  Solved: 625[Submit][Status][Discuss] Description Doris刚刚学习了fibonacci数列.用f[i]表示数列的第i项,那么 f[0]=0 f[1]=1 f[n]=f[n-1]+f[n-2],n>=2 Doris用老师的超级计算机生成了一个n×m的表格,第i行第j列的格子中的数是f[gcd(i,j)

Bzoj4816 [Sdoi2017]数字表格

Time Limit: 50 Sec  Memory Limit: 128 MBSubmit: 646  Solved: 296 Description Doris刚刚学习了fibonacci数列.用f[i]表示数列的第i项,那么 f[0]=0 f[1]=1 f[n]=f[n-1]+f[n-2],n>=2 Doris用老师的超级计算机生成了一个n×m的表格,第i行第j列的格子中的数是f[gcd(i,j)],其中gcd(i,j)表示i, j的最大公约数.Doris的表格中共有n×m个数,她想知道这

P3704 [SDOI2017]数字表格

#include<iostream> #include<cstdio> #include<cstring> #define LL long long #define maxn 1000009 #define N maxn+10 #define M 1000000007 using namespace std; int n,m; int q; LL ksm(LL a,LL p){ LL ans=1; for(;p;p>>=1,a=a*a%M){ if(p&am

codevs 5962 [SDOI2017]数字表格

输入描述 Input Description  [题解] 对于蓝色部分预处理前缀积. 然后在用除法分块搞一下. O(Q*sqrt(min(n,m))*logn+nlogn) #include<cstdio> #include<iostream> using namespace std; typedef long long ll; const int N=1e6+5; const ll mod=1e9+7; int T,n,m,tot,mu[N],prime[N/3];bool ch

BZOJ4816 Sdoi2017数字表格

一开始只推出O(TN)的做法,后来看了看发现再推一步就好了. 我们只需要枚举gcd就可以啦. 然后我们改变一下枚举顺序 设T为dk 预处理中间那部分前缀积就好了. 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N=1e6+10,mod=1e9+7; 4 int n,m,p[N/2],miu[N],g[N],f[N],inv[N],cnt;bool v[N]; 5 typedef long long ll; 6 int

【[SDOI2017]数字表格】

求 \[Ans=\prod_{i=1}^N\prod_{j=1}^MFib[(i,j)]\] 连乘的反演,其实并没有什么不一样 我们把套路柿子拿出来 \[F(n)=\sum_{i=1}^N\sum_{j=1}^M[n|(i,j)]=\left \lfloor \frac{N}{n} \right \rfloor\times \left \lfloor \frac{M}{n} \right \rfloor=\sum_{n|d}f(d)\] \[f(n)=\sum_{i=1}^N\sum_{j=1}