莫比乌斯反演例题讲解

注意:此处均默认$n<m$

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

由$\mu$的定义式可知$\sum_{d|n}\mu(d)=[n=1]$

将$n$替换为$\gcd(i,j)$,得

$[\gcd(i,j)=1] = \sum_{d|\gcd(i,j)}\mu(d)$

然后就开始我们的反演

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

由上面的式子得

$$=\sum_{i=1}^n\sum_{j=1}^m\sum_{d|gcd(i,j)}\mu(d)$$

枚举$d$,那么$\gcd(i,j)$为$d$的倍数,$i,j$都应为$d$的倍数,故$i,j$同除$d$

$$=\sum_{d=1}^n\mu(d)\sum_{i=1}^{\lfloor\frac nd\rfloor}\sum_{j=1}^{\lfloor\frac md\rfloor}1$$

$$=\sum_{d=1}^n\mu(d)\lfloor\frac nd\rfloor\lfloor\frac md\rfloor$$

使用整除分块来求值

2.$\sum_{i=1}^n\sum_{j=1}^m [\gcd(i,j)=d]$(luogu P3455)

$i,j$都应为$d$的倍数,故$i,j$同除$d$

$$\sum_{i=1}^a\sum_{j=1}^b[\gcd(i,j)=d]$$

$$=\sum_{i=1}^{\lfloor \frac ad \rfloor}\sum_{j=1}^{\lfloor \frac bd\rfloor}[\gcd(i,j)=1]$$

剩下的处理方式同$1$

3.$\sum_{i=1}^n\sum_{j=1}^m[\gcd(i,j)\in prime]$(luogu P2257)

先按套路来

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

$$=\sum_{d=1}^n\sum_{i=1}^{\lfloor\frac nd\rfloor}\sum_{j=1}^{\lfloor\frac md\rfloor}[\gcd(i,j)=1]\qquad(d\in prime)$$

$$=\sum_{d=1}^n\sum_{i=1}^{\lfloor\frac nd\rfloor}\sum_{j=1}^{\lfloor\frac md\rfloor}\sum_{k|\gcd(i,j)}\mu(k)\qquad(d\in prime)$$

$$=\sum_{d=1}^n\sum_{k=1}^{\lfloor\frac nd\rfloor}\mu(k)\lfloor\frac n{kd}\rfloor\lfloor\frac m{kd}\rfloor\qquad (d\in prime)$$

设$kd=T$,枚举$T$

$$=\sum_{d=1}^n\sum_{k=1}^{\lfloor\frac nd\rfloor}\mu(k)\lfloor\frac nT\rfloor\lfloor\frac mT\rfloor\qquad(d\in prime)$$

$$=\sum_{T=1}^n\lfloor\frac nT\rfloor\lfloor\frac mT\rfloor\sum_{d|T}\mu(\frac Td)\qquad(d\in prime)$$

然后只需要处理质数的倍数的$\mu$函数的前缀和即可

4.$\sum_{i=1}^n\sum_{j=1}^md(ij)$(luogu P3327)

有一个公式:

$$d(ij)=\sum_{x|i}\sum_{y|j}[\gcd(x,y)=1]$$

证明方法见我写的$dirichlet$卷积博客

然后按照套路反演

$$\sum_{i=1}^n\sum_{j=1}^md(ij)$$

$$=\sum_{i=1}^n\sum_{j=1}^m\sum_{x|i}\sum_{y|j}[\gcd(x,y)=1]$$

$$=\sum_{i=1}^n\sum_{j=1}^m\sum_{x|i}\sum_{y|j}\sum_{d|gcd(i,j)}\mu(d)$$

$$=\sum_{d=1}^n\mu(d)\sum_{i=1}^{\lfloor\frac n{d}\rfloor}\sum_{j=1}^{\lfloor\frac m{d}\rfloor}\sum_{x|i}\sum_{y|j}1$$

枚举$x,y$

$$=\sum_{d=1}^n\mu(d)\sum_{x=1}^{\lfloor\frac nd\rfloor}\sum_{y=1}^{\lfloor\frac md\rfloor}\lfloor\frac n{dx}\rfloor\lfloor\frac m{dy}\rfloor$$

$$=\sum_{d=1}^n\mu(d)\sum_{x=1}^{\lfloor\frac nd\rfloor}\lfloor\frac n{dx}\rfloor\sum_{y=1}^{\lfloor\frac md\rfloor}\lfloor\frac m{dy}\rfloor$$

令$f(S)=\sum_{i=1}^S\lfloor\frac Si\rfloor$,则原式为

$$\sum_{d=1}^n\mu(d)\cdot f(\lfloor\frac nd\rfloor)\cdot f(\lfloor \frac md\rfloor)$$

然后就可以整除分块处理了

5.$\sum_{i=1}^n\sum_{j=1}^mlcm(i,j)$(luogu P1829)

由于$lcm(i,j)=\frac{ij}{\gcd(i,j)}$,则

$$\sum_{i=1}^n\sum_{j=1}^mlcm(i,j)$$

$$=\sum_{i=1}^n\sum_{j=1}^m\frac{ij}{\gcd(i,j)}$$

gcd在分母上不好看,我们转换一下

$$=\sum_{i=1}^n\sum_{j=1}^m\sum_{d=1}^n[\gcd(i,j)=d]\frac{ij}{d}$$

枚举$d$

$$=\sum_{d=1}^nd\sum_{i=1}^{\lfloor\frac nd\rfloor}\sum_{j=1}^{\lfloor\frac md\rfloor}ij[\gcd(i,j)=1]$$

$$=\sum_{d=1}^nd\sum_{i=1}^{\lfloor\frac nd\rfloor}\sum_{j=1}^{\lfloor\frac md\rfloor}ij\sum_{x|gcd(i,j)}\mu(x)$$

$$=\sum_{d=1}^nd\sum_{x=1}^{\lfloor\frac nd\rfloor}x^2\mu(x)\sum_{i=1}^{\lfloor\frac n{dx}\rfloor}i\sum_{j=1}^{\lfloor\frac m{dx}\rfloor}j$$

预处理出$x^2\mu(x)$,然后前后各做一次整除分块即可。

 

posted @ 2020-06-02 14:03  verjun  阅读(495)  评论(0编辑  收藏  举报