时刻记住狄利克雷卷积定义:c(n)=ina(i)b(ni)c(n)=\sum_ {i|n} a(i)b(\frac{n}{i})

(这里的 = 没有赋值的意思)
在本文中的一些基本定义:
e(x)=[x=1]e(x)=[x=1] (只有x=1时值才为一,其他时候值为0)

idk(x)=xkid_ k(x)=x^k

ϕ(x)=i=1x[gcd(i,x)=1]\phi(x)=\sum_ {i=1}^{x} [gcd(i,x)=1]

aba \otimes b表示aabb的狄利克雷卷积

任何函数e\otimes e还是它本身,所以ee是单位元。
看到inf(i)\sum_ {i|n}f(i) 时可以想一想是不是fid0f \otimes id_ 0(记住卷积定义)

几个微小的证明


dnμ(d)=[n=1]\sum_ {d\|n}\mu(d)=[n=1]
(μid0=e\mu \otimes id_ 0=e)

现在nn进行质因数分解,得到:
n=p1m1p2m2..pkmkn=p_ 1^{m_ 1}p_ 2^{m_ 2}..p_ k^{m_ k}
n=p1p2..pkn^*=p_ 1p_ 2..p_ k

根据μ\mu的定义,假如说dd有平方项,那μ(d)\mu(d)为零。
所以dnμ(d)=dnμ(d)=i=0k(ik)(1)i\sum_ {d|n} \mu(d)=\sum_ {d|n^*} \mu(d)=\sum_ {i=0}^k (^k_ i)(-1)^i
观察二项式展开的样子:
(1+x)k=i=0k(ik)xi(1+x)^k=\sum_ {i=0}^k(^k_ i)x^i
x=1x=-1带进来
所以dnμ(d)=(11)k\sum_ {d|n} \mu(d)=(1-1)^k


现在有函数F(x)=ixf(i)F(x)=\sum_ {i\|x} f(i),知道F(x)F(x)要求f(x)f(x)
把原式子写成卷积的形式:F=fid0F=f \otimes id_ 0
同时卷一下μ\mu
Fμ=fid0μF \otimes \mu = f \otimes id_ 0 \otimes \mu
然而前面证明了μid0=e\mu \otimes id_ 0=e
所以Fμ=fe=fF \otimes \mu=f \otimes e =f
反…反演

计算一类积性函数的前缀和


这里定义FFff的前缀和。
现在,对于一个函数ff,找两个易求前缀和的函数ff^*f+f^+,使得:

ff=f+f^* \otimes f =f^+

F+(n)=i=1ndiF^+(n)=\sum_ {i=1}^n \sum _{d\|i}f(d)f(id)f(d)f^*(\frac{i}{d})

把对每个数枚举因数改为枚举因数找倍数
F+(n)=1=1nf(i)j=1nif(j)=i=1nf(i)F(ni)F^+(n)=\sum_ {1=1}^nf^ *(i) \sum_ {j=1}^{\lfloor \frac{n}{i} \rfloor}f(j)=\sum_ {i=1} ^nf^ *(i)F(\lfloor \frac{n}{i} \rfloor)
i=1i=1的情况单独提取出来
F+(n)=f(1)F(n)+i=2nf(i)F(ni)F^ +(n)=f^ *(1)F(n)+\sum_ {i=2} ^nf^ *(i)F(\lfloor \frac{n}{i} \rfloor)
对于积性函数有一个很显然的性质:a(1)a(1)=1或0,否则不满足f(a)f(b)=f(ab)f(a) * f(b)=f(ab)
为0时没有任何意义,所以我们构造的时候不会选择一个f(x)=0f(x)=0的函数,所以
F+(n)=F(n)+i=2nf(i)F(ni)F^ +(n) = F(n)+\sum_ {i=2} ^nf^ *(i)F(\lfloor \frac{n}{i} \rfloor)
F(n)=F+(n)i=2nf(i)F(ni)F(n)=F^ +(n)-\sum_ {i=2} ^nf^ *(i)F(\lfloor \frac{n}{i} \rfloor)
这样先递推F(n)F(n)n23n^{\frac{2}{3}}级别的位置
然后记忆化一下 F(ni)F( \lfloor \frac{n}{i} \rfloor )