莫比乌斯反演(纯知识)
\(Update\:\:on\:\:2023.8.3\):精细修改了一些内容,改了下内容排版
\(Update\:\:on\:\:2023.8.4\):增加了整除差分
一、狄利克雷卷积
定义
两个数论函数 \(f(x),g(x)\),则它们的 狄利克雷卷积 得到的结果 \(h(x)\) 定义为:
一些其它定义
-
单位元:\(ε(n)=[n=1]\)。对于任何数论函数 \(f\),都有 \(f*\varepsilon=f\)
-
\(I(n)=1\)
-
\(id(n)=n\)
性质
-
满足交换律、结合律、分配律
-
积性:两个积性函数的狄利克雷卷积仍然是积性函数。积性函数的逆仍是积性函数
常见结论
-
\(\mu * I=ε\)
-
\(\varphi *I=id\)
-
\(id * \mu =\varphi\)
二、莫比乌斯函数
定义
将 \(I\) 的狄利克雷卷积逆元记为 \(\mu\),称作莫比乌斯函数
设正整数 \(n\) 按算数基本定理分解质因数为 \(n=p_1^{c_1}p_2^{c_2}\dots p_m^{c_m}\),则
特别地,\(\mu(1)=1\)
性质
- 根据“积性函数的逆也是积性函数”可得:莫比乌斯函数是积性函数
计算
回顾 欧拉函数与积性函数专题,很明显莫比乌斯函数可以使用线性筛求解
void primes(int n)
{
mu[1]=1;
for(int i=2; i<=n; i++)
{
if(!v[i])
{
v[i]=i;
prime[++tot]=i;
mu[i]=-1;
}
for(int j=1; j<=tot; j++)
{
if(prime[j]>v[i] || prime[j]>n/i)
break;
v[i*prime[j]]=prime[j];
if(i%prime[j]==0)
break;
mu[prime[j]*i]=-mu[i];
}
}
}
三、整除分块
整除分块是用于解决整除求和问题 \(\sum\limits_{i=1}^n{\left\lfloor\frac{n}{i}\right\rfloor}\)
-
将 \(\left\lfloor\frac{n}{i}\right\rfloor\) 按相同值分块
-
可以证明,分块少于 \(2\sqrt{n}\) 种
for(LL l=1,r; l<=n; l=r+1)
{
r=n/(n/l);
ans+=(r-l+1)*(n/l);
}
四、莫比乌斯反演
反演动机
结论
设 \(f(n),g(n)\) 为两个数论函数。
-
如果有 \(f(n)=\sum\limits_{d\mid n}g(d)\),那么有
\[g(n)=\sum\limits_{d\mid n}\mu(d)f(\frac{n}{d}) \]证明:容易看出,数论函数 \(g(n)\) 的莫比乌斯变换,就是将\(g(n)\) 与 \(1\) 进行狄利克雷卷积。
\(\because f=g*I\)
\(\therefore f*\mu=g*I*\mu=g*ε=g\) -
如果有 \(f(n)=\sum\limits_{n|d}g(d)\),那么有
\[g(n)=\sum_{n|d}\mu(\frac{d}{n})f(d) \]证明:考虑逆推:
\(\quad \sum\limits_{n|d}{\mu(\frac{d}{n})f(d)}\)
\(=\sum\limits_{k=1}{\mu(k)f(kn)}\)
\(= \sum\limits_{k=1}{\mu(k)\sum\limits_{kn|d}{g(d)}}\)
\(=\sum\limits_{n|d}{g(d)\sum\limits_{k|\frac{d}{n}}{\mu(k)}}\)
\(= \sum\limits_{n|d}{g(d)\epsilon(\frac{d}{n})}\)
\(=g(n)\)
应用
关于莫反的习题,详见以后的博客
五、整除差分
一个黑科技
快进到式子:
如果对每个 \(k\) 分别使用整除分块,复杂度 \(O(n\sqrt{n})\),无法通过
注意到 \(\left\lfloor k/d\right\rfloor\ne \left\lfloor (k-1)/d\right\rfloor\Leftrightarrow d\mid k\),且此时 \(\left\lfloor k/d\right\rfloor=\left\lfloor (k-1)/d\right\rfloor+1\)
对答案差分,有:
线性筛出 \(id_k\) 后,记 \(h(n)=n^k-(n-1)^k\),则 \(\Delta ans=h*\mu\),时间复杂度 \(O(n\log n)\)

浙公网安备 33010602011771号