认识一下常用数论函数$:$
$\mu$ 无需解释
$I =1\ $恒等函数(恒等于$1$)
$e= \ [n=1]$原函数
然后考虑莫比乌斯反演
性质式$:$
$\sum_{i|n}\mu(i)=[n=1]$
等价于
$\mu*I=e$
$F=\sum_{i|n}f[i]$
$F=(f*I)$
$F*\mu=(f*I)*\mu$
$F*\mu=f*(I*\mu)$
$F*\mu=f*e$
$F*\mu=f$
$f=F*\mu$
证毕
$n=\sum_{i|n}\phi(i)$
继续推导
$id=\phi*I$
$id*\mu=\phi*I*\mu$
$id*\mu=\phi*e$
$id*\mu=\phi$
$\phi(n)=\sum_{i|n}n/i\times\mu(i)$
$\phi(n)/n=\sum_{i|n}\mu(i)/i$
这貌似就是$\mu$和$\phi$的互相转化
那么杜教筛是什么$:$
考虑求$\sum f(i)$
$f(i)$为积性函数
积性函数$*$积性函数$=$积性函数
设$h=f*g$
$S(n)=\sum_{i=1}^nf(i)$
我们先求一个$h$的前缀和
$\sum_{i=1}^{n}h(i)=\sum_{i=1}^{n}\sum_{d|i}f(i/d)*g(d)$
$\sum_{i=1}^{n}h(i)=\sum_{d=1}^{n}g(d)\sum_{i=1}^{n/d}f(i)$
$\sum_{i=1}^{n}h(i)=\sum_{d=1}^{n}g(d)S(n/d)$
$\sum_{i=1}^{n}h(i)=g(1)S(n)+\sum_{d=2}^{n}g(d)S(n/d)$
$g(1)S(n)=\sum_{i=1}^{n}h(i)-\sum_{d=2}^{n}g(d)S(n/d)$
$g(1)S(n)=\sum_{i=1}^{n}(f*g)(i)-\sum_{d=2}^{n}g(d)S(n/d)$
当$h$的前缀和很好求,可以在$O(n^{2/3})$得到$S(n)$
感觉不会的话都尝试卷一下就可以了.
例$1.$
$S(n)=\sum_{i=1}^{n}\mu(i)$
如果是我,我会猜$g=I,h=e$
$S(n)=\sum_{i=1}^{n}e(i)-\sum_{d=2}^{n}S(n/d)$
$S(n)=1-\sum_{d=2}^{n}S(n/d)$
后面的显然可以整除分块,然后我发现这个可以递归?不用整除分块?
例$2.$
$S(n)=\sum_{i=1}^{n} \phi(i)$
$g=I,h=id$
$S(n)=\sum_{i=1}^{n}id(i)-\sum_{d=2}^{n}I(d)S(n/d)$
$S(n)=\sum_{i=1}^{n}i-\sum_{d=2}^{n}S(n/d)$
这也很显然了
例$3.$
$S(n)=\sum_{i=1}^{n} i\times\phi(i)$
考虑如果卷一下
$f*g=\sum_{i|n}(i\times\phi(i))*g(n/i)$
显然把后面配成$id$会很好,我一开始也这么想的...
$f*g=\sum_{i|n}n\times\phi(i)$
$f*g=n\times\sum_{i|n}\phi(i)$
$f*g=n^{2}$
$S(n)=\sum_{i=1}^{n}i^{2}-\sum_{d=2}^{n}id(d)\times S(n/d)$
我只能说很强了.
相关文章
- 10-1111.23A T4方(思维好题----杜教筛(总复习))
- 10-11【bzoj 4176】 Lucas的数论 莫比乌斯反演(杜教筛)
- 10-11bzoj4176 - Lucas的数论(杜教筛,莫比乌斯反演)
- 10-11[2021 CCCC天梯赛] 可怜的简单题 (概率期望 莫比乌斯反演 杜教筛)
- 10-11【数论】【杜教筛】选数(P3172)
- 10-112019-ACM-ICPC-南京区网络赛-E. K Sum-杜教筛+欧拉定理
- 10-11[NC 200008] Lady Layton with Math (杜教筛)
- 10-11LG P4213【模板】杜教筛(Sum)
- 10-1151Nod 1239 欧拉函数前n项和 杜教筛
- 10-11[模板]杜教筛