抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

μ\mu 的定义,性质,和几道例题。

定义

μ(d)={1n=1(1)kn=i=1kpi0otherwise\mu(d) = \begin{cases} 1&n=1\\ (-1)^k&n=\prod_{i=1}^k p_i\\ 0&\text{otherwise} \end{cases}

线性求值

1
2
3
4
5
6
7
8
9
10
11
12
void sieve_mu(int n){
mu[1] = 1;
FL(i, 2, n){
if(!vis[i])pri[++len] = i, mu[i] = -1;
for(int j = 1;j <= len && pri[j] * i <= n; j++){
vis[pri[j] * i] = 1;
if(i % pri[j] == 0)break;
mu[pri[j] * i] = -mu[i];
}
}
FL(i, 1, n)mu[i] = mu[i - 1];
}

性质

dnμ(d)=[n=1][gcd(i,j)=1]=dgcd(i,j)μ(d)f(n)=dng(n)g(n)=dnf(d)μ(nd)f(n)=ndg(d)g(n)=ndf(d)μ(dn)\sum_{d|n}\mu(d)=[n=1]\\ [gcd(i,j)=1]=\sum_{d|\gcd(i,j)}\mu(d)\\ f(n)=\sum_{d\mid n}g(n)\Rightarrow g(n) = \sum_{d\mid n}f(d)\mu(\frac nd)\\ f(n)=\sum_{n\mid d}g(d)\Rightarrow g(n) = \sum_{n\mid d}f(d)\mu(\frac dn)

从这里开始,默认 nmn\le m

Ex.1

i=1nj=1m[gcd(i,j)=1]\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)=1]

i=1nj=1m[gcd(i,j)=1]=i=1nj=1mdgcd(i,j)μ(d)=d=1nμ(d)ndmd\begin{aligned} &\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)=1]\\ =&\sum_{i=1}^n\sum_{j=1}^m\sum_{d\mid \gcd(i, j)}\mu(d)\\ =&\sum_{d=1}^n \mu(d)\left\lfloor\frac nd\right\rfloor \left\lfloor\frac md\right\rfloor \end{aligned}

μ(d)\mu(d) 前缀和优化,后面的整除分块即可。

如果是求 i=1nj=1m[gcd(i,j)=k]\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)=k]

这也很简单,我们把式子同时除以 kk,得 i=1nkj=1mk[gcd(i,j)=1]\sum_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{k}\rfloor}[gcd(i,j)=1]

然后就一样了。

Ex.2

i=1nj=1mgcd(i,j)prime\sum_{i=1}^n\sum_{j=1}^m \gcd(i, j) \in prime

我们假设 nmn \le m,然后枚举 kprimek \in prime,得

i=1nki=1nj=1m[gcd(i,j)=k]=k=1ni=1nkj=1mk[gcd(i,j)=1]\sum_{i=1}^nk\sum_{i=1}^n\sum_{j=1}^m[\gcd(i, j)=k]=\sum_{k=1}^n\sum_{i=1}^{\lfloor\frac nk\rfloor}\sum_{j=1}^{\lfloor\frac{m}{k}\rfloor}[gcd(i, j)=1]\\

我们枚举一下 d=gcdd = \gcd,并提到前面。

=k=1ni=1nkj=1mkdgcd(i,j)μ(d)=k=1nd=1nkμ(d)ndkmdk=\sum_{k=1}^n\sum_{i=1}^{\lfloor\frac nk\rfloor}\sum_{j=1}^{\lfloor\frac{m}{k}\rfloor}\sum_{d\mid \gcd(i, j)}\mu(d)=\sum_{k=1}^n \sum_{d=1}^{\lfloor\frac nk\rfloor}\mu(d)\left\lfloor\frac n{dk}\right\rfloor\left\lfloor\frac m{dk}\right\rfloor\\

由于 n107n\le 10^7,枚举 kk 太慢了,我们还要优化,设 T=dkT = dk

=k=1nd=1nkμ(d)nTmT=T=1nnTmTkTμ(Tk)= \sum_{k=1}^n\sum_{d=1}^{\lfloor\frac nk\rfloor}\mu(d)\left\lfloor\frac nT\right\rfloor\left\lfloor\frac mT\right\rfloor=\sum_{T=1}^n\left\lfloor\frac nT\right\rfloor\left\lfloor\frac mT\right\rfloor\sum_{k\mid T}\mu(\frac Tk)

后面的预处理,前面一坨整除分块即可。

Ex.3

d(x)d(x)xx 的约数个数,求 i=1nj=1md(ij)\sum_{i=1}^n\sum_{j=1}^m d(ij)

有个结论 d(ij)=xiyj[gcd(x,y)=1]d(ij) = \sum_{x\mid i}\sum_{y\mid j}[\gcd(x, y) = 1]

我们一个质数ppi=ipk1,j=jpk2i=i'*p^{k_1},j=j'*p^{k_2}

考虑 ppd(ij)d(ij) 的贡献,显然在 dd 的因子中,pp 可以为 00~k1+k2k_1+k_2 任意一个。

我们只看 pp 这一项,设 x=xpkx,y=ypkyx=x'p^{k_x},y=y'p^{k_y}

要满足 gcd(x,y)=1\gcd(x,y)=1,那么就有 gcd(pkx,pky)=1\gcd(p^{k_x},p^{k_y})=1

要么kx=0,ky[0,k2]k_x=0,k_y\in[0,k_2],共k2+1k_2+1

要么ky=0,kx[0,k1]k_y=0,k_x\in[0,k_1],共k1+1k_1+1

减去重复判断的kx=0,ky=0k_x=0,k_y=0这种情况,最后答案k1+k2+1k_1+k_2+1

我们带入原式得:

=i=1nj=1mxiyj[gcd(x,y)=1]=i=1nj=1mx=1ny=1mdgcd(x,y)[xi][yj]μ(d)=x=1ny=1mdgcd(x,y)μ(d)i=1n[xi]j=1m[yj]=x=1ny=1mdgcd(x,y)μ(d)nxmy=d=1nμ(d)x=1ndndxy=1mdmdy\begin{aligned} &=\sum_{i=1}^n\sum_{j=1}^m\sum_{x\mid i}\sum_{y \mid j}[gcd(x,y)=1]\\ &=\sum_{i=1}^n\sum_{j=1}^m\sum_{x=1}^n\sum_{y=1}^m\sum_{d\mid gcd(x, y)}[x\mid i][y\mid j]\mu(d)\\ &=\sum_{x=1}^n\sum_{y=1}^m\sum_{d\mid gcd(x, y)}\mu(d)\sum_{i=1}^n[x\mid i]\sum_{j=1}^m[y\mid j]\\ &=\sum_{x=1}^n\sum_{y=1}^m\sum_{d\mid gcd(x, y)}\mu(d)\lfloor\frac nx\rfloor\lfloor\frac my\rfloor\\ &=\sum_{d=1}^n\mu(d)\sum_{x=1}^{\lfloor\frac nd\rfloor}\left\lfloor\frac n{dx}\right\rfloor\sum_{y=1}^{\lfloor\frac md\rfloor}\left\lfloor\frac m{dy}\right\rfloor \end{aligned}

Ex.4

i=1nj=1mij[gcd(i,j)=k]\sum_{i=1}^{n}\sum_{j=1}^{m}ij[gcd(i,j)=k]

先同时除以kk,但我们还要考虑 i,ji,j 的变化,除 kki,ji, j 会变为原来的 1k\dfrac 1k,所以最后要乘上 k2k^2

=i=1nkj=1mkij[gcd(i,j)=1]k2=i=1nkj=1mkijdgcd(i,j)μ(d)k2=k2d=1nμ(d)d2i=1nkdij=1mkdj\begin{aligned} &=\sum_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{k}\rfloor}ij[gcd(i,j)=1]k^2\\ &=\sum_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{k}\rfloor}ij\sum_{d\mid \gcd(i,j)}\mu(d)k^2\\ &=k^2\sum_{d=1}^n\mu(d)d^2\sum_{i=1}^{\lfloor\frac n{kd}\rfloor}i\sum_{j=1}^{\lfloor\frac m{kd}\rfloor}j \end{aligned}

最后那两项为等差数列,计算时整除分块,最终复杂度 O(n)O(\sqrt{n})

Ex.5

i=1nj=1nijgcd(i,j)\sum_{i=1}^n\sum_{j=1}^n ijgcd(i,j)
我们知道 dnφ(d)=n\sum_{d \mid n}\varphi(d) = n,所以只要把 μ\mu 换成 φ\varphi,然后正常做即可。

i=1nj=1nijgcd(i,j)=i=1nj=1nijdgcd(i,j)φ(d)=d=1nφ(d)i=1n[di]ij=1n[dj]j=d=1nφ(d)x=1ndxdy=1ndyd=d=1nφ(d)d2x=1ndxy=1ndy\begin{aligned} \sum_{i=1}^n\sum_{j=1}^n ij \gcd(i,j)&=\sum_{i=1}^n\sum_{j=1}^nij\sum_{d\mid \gcd(i,j)}\varphi(d)\\ &=\sum_{d=1}^n\varphi(d)\sum_{i=1}^n[d\mid i]i\sum_{j=1}^n[d\mid j]j\\ &=\sum_{d=1}^n\varphi(d)\sum_{x=1}^{\lfloor\frac{n}{d}\rfloor}xd\sum_{y=1}^{\lfloor\frac{n}{d}\rfloor}yd\\ &=\sum_{d=1}^n\varphi(d)d^2\sum_{x=1}^{\lfloor\frac{n}{d}\rfloor}x\sum_{y=1}^{\lfloor\frac{n}{d}\rfloor}y\\ \end{aligned}