莫比乌斯变换与莫比乌斯反演

更新日志 2025/01/24:开工。

2025/07/21:重构。


前言

其实 OI 中用得到的只有数论中的莫比乌斯函数,甚至就是最后那一个反演结论……

前置知识

狄利克雷(Dirichlet)卷积

狄利克雷卷积用 \(*\) 表示。我们使用 \(h=f*g\) 表示:

\[h(x)=\sum_{d\mid x}f(d)g(\frac{x}{d})=\sum_{ab=x}f(a)g(b) \]

狄利克雷卷积的单位元是单位函数 \(\varepsilon\),即对于任何数论函数 \(f\)\(f*\varepsilon=f\)

\[\varepsilon(x)=\begin{cases}1&(x=1)\\0&(x\ne 1)\end{cases} \]

函数 \(f\) 在狄利克雷卷积中的逆元 \(g\) 满足 \(f*g=\varepsilon\),记作 \(g=f^{-1}\)

事实上这些都用不到。。

莫比乌斯函数

莫比乌斯函数 \(\mu\),满足 \(\mu=\zeta^{-1}\)。其中 \(\mu\)\(\zeta\) 均为二元函数。

\[\zeta(x,y)=\begin{cases}1&(x\le y)\\0&(x\not\le y)\end{cases} \]

然后我们可以得到:

\[\mu(x,y)=\begin{cases}-\sum\limits_{x\le z<y}\mu(x,z)&(x<y)\\ 1&(x=y)\\ 0&(x\not\le y)\end{cases} \]

下面简单证明一下。

首先有一个结论,这个结论还要证明的话就太麻烦了,因此就直接给出,有兴趣的自行查询吧。

\[\sum_{x\le z\le y}\mu(x,z)=\begin{cases}1&(x=y)\\0&(x\ne y)\end{cases} \]

显然可以如下表示 \(\mu(x,y)\)

\[\mu(x,y)=\sum_{x\le z\le y}\mu(x,z)-\sum_{x\le z<y}\mu(x,z) \]

然后代入一下就得到上面的公式了。

数论意义下的莫比乌斯函数

定义

\[\mu(n)=\begin{cases} (-1)^k&(\forall i\in\left[1,k\right],c_i=1)\\ 1&(n=1)\\ 0&(\exists i\in\left[1,k\right],c_i>1) \end{cases} \]

其中我们分解 \(n=\prod\limits_{i=1}^kp_i^{c_i}\)

性质

\(\mu=\zeta^{-1}\),即 \(\mu*\zeta=\varepsilon\),于是:

\[\sum_{d\mid n}\mu(d)=\varepsilon(n)=\begin{cases} 1&(n=1)\\ 0&(n\ne 1) \end{cases} \]

此外还有:

\[\varphi(n)=\sum_{d\mid n}d\cdot\mu(\frac{n}{d}) \]

证明挂个 OI-wiki 链接。

线性筛

直接按定义筛就行,对着代码理解吧。

int pcnt;
int st[N],pr[N],mu[N];
void getmu(int n){
	mu[1]=1;
	rep(i,2,n){
		if(!st[i]){pr[++pcnt]=i;mu[i]=-1;}
		for(int j=1;i*pr[j]<=n;j++){
			st[i*pr[j]]=1;
			if(i%pr[j]==0)break;
			else mu[i*pr[j]]=-mu[i];
		}
	}
}

莫比乌斯变换与莫比乌斯反演

结论

\[\left[\gcd(i,j)=1\right]=\sum_{d\mid\gcd(i,j)}\mu(d) \]

证明?把 \(\left[\gcd(i,j)=1\right]\) 写成 \(\varepsilon(\gcd(i,j))\) 即可。

莫比乌斯变换

若有 \(f(n)=\sum\limits_{d\mid n}g(d)\),那么有 \(g(n)=\sum\limits_{d\mid n}\mu(d)f(\frac{n}{d})\)

\(f\)\(g\) 的莫比乌斯变换,\(g\)\(f\) 的莫比乌斯反演。

还有另一种形式,若有 \(f(n)=\sum\limits_{n\mid d}g(d)\),那么有 \(g(n)=\sum\limits_{n\mid d}\mu(\frac{d}{n})f(d)\)

证明就不在这里写了,挂个 OI-wiki 链接。

posted @ 2025-01-24 17:33  LastKismet  阅读(31)  评论(0)    收藏  举报