积性函数:
若一个定义在正整数域上的函数f(x)f(x)对于任意满足gcd(x,y)==1gcd(x,y)==1的x,yx,y都有f(xy)=f(x)∗f(y)f(xy)=f(x)∗f(y),则f(x)f(x)是积性函数.
常见积性函数:
μ(n):莫比乌斯函数
φ(n):欧拉函数
d(n):一个数nn的约数个数
σ(n):一个数nn的约数和
f(x)=x^k(k∈N)这个玩意儿也是积性函数
狄利克雷卷积:
若都是积性函数,则它们的狄利克雷卷积
也是积性函数
积性函数&&线性筛:
可以线性筛。注意是任意积性函数都可以线性筛
一个在严格O(n)O(n)时间复杂度内筛出某个东西的东西
线性筛素数:
int pri[N],tot,zhi[N];//zhi[i]为1的表示不是质数
void sieve()
{