狄利克雷卷积
设(f: N
ightarrow R g:N
ightarrow R)是两个函数
则它们的狄利克雷卷积为((f*g)(n)=sum_{d|n}f(d)g(frac{n}{d}))
命题
如果(f(n)和g(n)为积性函数,则h(n)=(f*g)(n)也为积性函数)
定理
(::::f=g*1 LeftarrowRightarrow g=f*mu)
则(f(n)=sum_{d|n}g(d)LeftarrowRightarrow g(n)=sum_{d|n}mu(frac{n}{d})f(d))
性质
交换律(f*g=g*f)
结合律((f*g)*h=f*(g*h))
分配律((f*(g+h))(n)=(f*g)(n)+(f*h)(n))
一些函数
单位函数(epsilon(n)=[n=1])
幂指函数(Id_k(n)=n^k),当(k=1,Id(n)=n),当(k=0,Id_0(n)=1)
除数函数(sigma_k(n)=sum_{d|n}d^k),当(k=1,sigma(n))为n的因数和,当(k=0,sigma_0(n))为因数个数
欧拉函数(phi(n))
这四个函数都是积性函数
前两个为完全积性函数(f(a)f(b)=f(ab)),其中a,b不用满足互质
一些公式
根据定义((f*1)(n)=sum_{d|n}f(d))
- ((Id_k(n)*1)(n)=sum_{d|n}Id_k(d)=sum_{d|n}d^k=sigma_k(n))
- 根据((phi*1)(n)=sum_{d|n}phi(d))
当(n=p^m)(p为质数)
(sum_{d|n}phi(d)=phi(1)+sum_{i=1}^mphi(p^i)=1+sum_{i=1}^m(p^i-p^{i-1})=p^m=n)
若(n=p_1^{m_1}···p_k^{m_k}=prod_{i=1}^kp_i^{m_i})
由于((phi*1)(n))为积性函数
((phi*1)(n)=prod_{i=1}^k(phi*1)(p_i^{m_i})=n)
所以公式为(phi*1=Id_1)
根据前面所述的定理(phi=mu*Id) - ((epsilon*1)(n)=sum_{d|n}[d=1]=1)
则(epsilon=mu*1)
应用
杜教筛
快速求(M(n)=sum_{i=1}^nmu(i),(nleq 10^{11}))
(M(n)=1-sum_{i=2}^nM(lfloor frac{n}{i}
floor))
证:
根据(epsilon=mu*1)
则(1=sum_{i=1}^nepsilon(i)=sum_{i=1}^n(mu*1)(i)=sum_{i=1}^nsum_{d|i}mu(d)=sum_{i=1}^nM(lfloor frac{n}{i}
floor))
((M(lfloor frac{n}{i}
floor)由下图解释))
则(M(n)=1-sum_{i=2}^nM(lfloor frac{n}{i}
floor))
当(ileq sqrt n,lfloor frac{n}{i}
floor)显然只有(sqrt n)个取值
当(i > sqrt n,lfloor frac{n}{i}
floor<sqrt n)显然只有(sqrt n)个取值
对于固定的(lfloor frac{n}{i}
floor)是一段连续的区间,区间范围([ lfloor frac{n}{lfloor frac{n}{i}
floor+1 }+1
floor,lfloor frac{n}{lfloor frac{n}{i}
floor }
floor])
所以(M(n))可以用整出分块来求,时间复杂度(T(n)=sum_{i=2}^nT(frac{n}{i})=O(n^{frac{3}{4}}))
如果先预处理(n^{frac{2}{3}}),则时间复杂度为(O(n^{frac{2}{3}}))
具体证明见唐老师的blog