莫比乌斯反演
https://evrgardenviolet.github.io/post/mo-bi-wu-si-fan-yan/
https://evrgardenviolet.github.io/
莫比乌斯反演
莫比乌斯反演是数论中的重要内容。对于一些函数 f(n) , 如果很难直接求出它的值,而容易求出其倍数和或约数和 g(n) ,那么可以通过莫比乌斯反演简化运算,求得 f(n) 的值。
前置芝士
数论分块, Dirichlet 卷积
莫比乌斯函数
关于莫比乌斯函数的补充结论
反演结论: [gcd(i,j)=1]=d∣gcd(i,j)∑μ(d)
直接推导:如果看懂了上一个结论,这个结论稍加思考便可以推出:如果 gcd(i,j)=1 的话,那么代表着我们按上个结论中枚举的那个 n 是 1, 也就是式子的值是 1 反之,有一个与 [gcd(i,j)=1] 相同的值: 0
利用 ε 函数 :根据上一结论, [gcd(i,j)=1]=ε(gcd(i,j)) ,将 $ \varepsilon $ 展开即可。
线性筛
mu[1] = 1;
for (int i = 2; i <= N; i++)
{
if (!flag[i]) prime[++tot] = i, mu[i] = -1;
for (int j = 1; j <= tot && i * prime[j] <= N; j++)
{
flag[i * prime[j]] = 1;
if (i % prime[j] == 0) break;
mu[i * prime[j]] = -mu[i];
}
}
拓展
φ∗1=id
证明:
将 n 分解质因数: n=i=1∏kpici
首先,因为 φ 是积性函数,故只要证明当 n′=pc 时 φ∗1=d∣n′∑φ(dn′)=id 成立即可。
因为 p 是质数, 于是 d=p0,p1,p2,⋯,pc
易知如下过程:
φ∗1=d∣n∑φ(dn)=i=0∑cφ(pi)=1+p0⋅(p−1)+p1⋅(p−1)+⋯+pc−1⋅(p−1)=pc=id
该式子两侧同时卷 μ 可得 φ(n)=d∣n∑d⋅μ(dn)
QED.
莫比乌斯变换
设 f(n),g(n) 为两个数论函数。
形式一:如果有 $ f(n) = \sum_{d\mid n}g(n)$, 那么有 g(n)=∑d∣nμ(d)f(dn) 。
这种形式下,数论函数 f(n) 称为数论函数 g(n) 的莫比乌斯变换,数论函数 g(n) 称为数论函数 f(n) 的莫比乌斯逆变换(反演)。
容易看出,数论函数 g(n) 的莫比乌斯变换,就是将数论函数 g(n) 与常数函数 1 进行狄利克雷卷积。
(PS.根据狄利克雷卷积与狄利克雷生成函数的对应关系,数论函数 g(n) 的莫比乌斯变换对应的狄利克雷生成函数,就是数论函数 g(n) 的狄利克雷生成函数与黎曼函数 ζ 的乘积。
形式二:如果有 f(n)=∑n∣dg(d) ,那么有 g(n)=∑n∣dμ(nd)f(d) 。
证明:
法一:对原式做数论变换。
d∣n∑μ(d)f(dn)=d∣n∑μ(d)k∣dn∑g(k)=k∣n∑g(k)d∣kn∑μ(d)=g(n)
用 ∑d∣nμ(d)f(dn), 再变换求和顺序。最后一步变换的依据: ∑d∣nμ(d)=[n=1] ,因此在 kn=1 时第二个和式的值才为 1 。此时 n=k ,故原式等价于 k∣n∑[n=k]⋅g(k)=g(n)
法二:运用卷积。
原问题为:已知 f=g∗1 , 证明 g=f∗μ
易知如下转化:f∗μ=g∗1∗μ⟹f∗μ=g (其中 1∗μ=ε )
对于第二种形式:
类似上面的方法一,我们考虑逆推这个式子。
===n∣d∑μ(nd)f(d)k=1∑+∞μ(k)f(kn)=k=1∑+∞μ(k)kn∣d∑g(d)n∣d∑g(d)k∣nd∑μ(k)=n∣d∑g(n)ϵ(nd)g(n)
我们把 d 表示为 kn 的形式,然后把 f 的原定义代入式子。
发现枚举 k 再枚举 kn 的倍数可以转换为直接枚举 n 的倍数再求出 k ,发现后面那一块其实就是 ϵ , 整个式子只有在 d=n 的时候才能取到值。
QED.
实战例题
Problem B
d=1∑min(⌊kn⌋,⌊km⌋)μ(d)⌊kdn⌋⌊kdm⌋
YY的GCD
T=1∑n⌊Tn⌋∗⌊Tm⌋k∣T,k∈prime∑μ(kT)
数字表格
T=1∏n(d∣T∏f(d)μ(dT))⌊Tn⌋⋅⌊Tm⌋