莫比乌斯反演-学习笔记

记录学习莫比乌斯的过程。
为什么lqs的T2就出莫比乌斯反演啊

定义

莫比乌斯函数记为\(\mu(d)\)
1.当\(d=1\)时,函数值为1
2.当\(d=p_1*p_2*p_3*...*p_k\) p为质数时 函数值为\((-1)^k\)
这条性质的意思是 \(d\) 分解质因数后没有平方以上的质因子,函数值根据质因子个数决定
3.对于其他值,\(\mu(d)=0\)

性质

  1. 对于正整数\(n\),有

\[\sum_{d|n}\mu(d)=[n=1] \]

这是最常用且最好用的式子。
另外,将\(d\)替换成\(gcd(i,j)\),即可得到另外一个常用式子

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

其中\([...]\)表示括号中条件成立为\(1\) 否则为 \(0\)

常见技巧

从一道例题开始。

例1.

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

套路:套公式。

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

套路:枚举d 消sigma
\(d\)的范围在\(1-n\)之间,我们枚举 \(d\) , 发现满足 \(d\) 同时是两个数字 \(x,y\) 的因数时会统计答案。于是得出下面这个式子

\[=\sum_{d=1}^n \mu(d)\times \lfloor \frac m d \rfloor \times \lfloor \frac n d \rfloor\]

后面一部分可以使用整数分块在根号时间内解决。

例2

洛谷P2557
参考第一篇题解。设两个函数的真的难以理解。
题目求

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

进行一个式子的推。
\(gcd(i,j)=k\)
套路:除以k
多枚举一个k,式子变成了这样

\[\sum_{k=1}^n \sum_{i=1}^{\lfloor \frac n k \rfloor} \sum_{j=1}^{\lfloor \frac m k \rfloor} [gcd(i,j)=1] \]

带入公式,得到:

\[\sum_{k=1}^n \sum_{i=1}^{\lfloor \frac n k \rfloor} \sum_{j=1}^{\lfloor \frac m k \rfloor} \sum_{d|gcd(i,j)}\mu(d) \]

使用套路枚举d,消去两个\(\sum\)

\[\sum_{d=1}^{\lfloor \frac n {k} \rfloor} \sum_{k=1}^n \mu(d) \lfloor \frac n {k*d} \rfloor \times \lfloor \frac m {k*d} \rfloor \]

推到这里已经差不多。接下来需要更多奇怪的优化。
\(T=kd\) ,有下面的式子

\[\sum_{d=1}^{\lfloor \frac n {k} \rfloor} \sum_{k=1}^n \mu(d) \lfloor \frac n {T} \rfloor \times \lfloor \frac m {T} \rfloor \]

枚举\(T\),放到前面去。

\[\sum_{T=1}^{n} \lfloor \frac n {T} \rfloor \lfloor \frac m {T} \rfloor \sum_{k|T,k\in prime} \mu(\frac T k) \]

很好,最后这个东西和\(n,m\)无关,看起来可以预处理。
枚举质数\(k,T\)\(k\)的倍数,将\(f[T]\)都加上\(\mu(\frac T k)\)。最后进行一个前缀和操作和整数分块
然后就很愉快的搞掉了这题。

posted @ 2021-10-14 19:31  lzylzy/kk  阅读(41)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end