莫比乌斯反演&杜教筛学习笔记
(O(n^{frac23}))解决积性函数前缀和
- 狄利克雷卷积
[h(n)=sum_{d|n}f(d)*g(frac n d)
]
(varepsilon)为狄利克雷卷积的单位元
两个积性函数卷积后仍为积性函数
- 例子
[varepsilon=mu*1
]
[d=1*1
]
[sigma=d*1
]
[phi=mu*Id
]
[Id=phi*1
]
- 莫比乌斯反演
[f(n)=sum_{d|n}g(d)
]
[g(n)=sum_{d|n}mu(d)f(frac n d)
]
- 另
[d(i*j)=sum_{x|i}sum_{y|j}[gcd(x,y)=1]
]
常用方法:
- 变换顺序
- 用T代乘积
- 换元
- 枚举约数
- 卷积
- 反演
- 转化思考角度
- 反演扩展
[f(n)=sum_{i=1}^nt(i)g(lfloorfrac n i
floor)
]
[g(n)=sum_{i=1}^nmu(i)t(i)f(lfloorfrac n i
floor)
]
- 推式子
[S(n)=sum_{i=1}^nf(i)
]
[构造一个h=g*f(g,h均需构造,*代表狄利克雷卷积)
]
[sum_{i=1}^nh(i)=sum_{i=1}^nsum_{d|i}g(d)f(frac i d)
]
[=sum_{d=1}^ng(d)sum_{i=1}^{lfloorfrac n d
floor}f(i)
]
[=sum_{d=1}^ng(d)S(lfloorfrac n d
floor)
]
[sum_{i=1}^nh(i)=g(1)S(n)+sum_{d=2}^ng(d)S(lfloorfrac nd
floor)
]
[S(n)=frac{sum_{i=1}^nh(i)-sum_{d=2}^ng(d)S(lfloorfrac nd
floor)}{g(1)}
]
要求:(h(i))前缀要好求
一般用线性筛筛一部分,大概为(n^{frac23}),最快
数学加油ヾ(◍°∇°◍)ノ゙