莫比乌斯反演相关
常见的积性函数
莫比乌斯函数 \(\mu(n)\)
定义为: $$ \mu(n) = \begin{cases}1 & n = 1\\ (-1)^k \ & n = p_1p_2\cdots p_k\\ 0 & other\\ \end{cases} $$ 性质: $$\sum_{d | n}\mu(d) = [n = 1]$$ $$\sum_{d | n}\frac{\mu(d)}{d} = \frac{\varphi(n)}{n}$$
欧拉函数 \(\varphi(n)\)
定义为: 不大于n的自然数中,与n互质的数的个数 $$\varphi(n) = m\prod_{p|m, p为质数}(1 - \frac{1}{p})$$ 性质: $$\sum_{d|n}\varphi(d) = n$$ 或写成狄利克雷卷积的形式: $(\varphi * I)(n) = id(n)$ $$对于质数p\ \ \ \varphi(p^k) = p^k - p^{k - 1}$$
约数个数函数 \(d(n)\)
字面意思
约数和函数 \(\sigma(n)\)
定义为: $$\sigma(n) = \sum_{d | n}d$$
元函数 \(\varepsilon(n)\)
定义为: $$\varepsilon(n) = [n = 1]$$
恒等函数 \(I(n)\)
定义为:$$I(n) = 1$$ 性质:$$I * I = d$$
单位函数 \(id(n)\)
定义为: $$id(n) = n$$
狄利克雷卷积
狄利克雷卷积 是莫比乌斯反演的前置知识
我们定义:$$ (f\ *\ g)(n)\ =\ \sum_{d|n}f(d)g(\frac{n}{d}) $$
记作 \(f\ *\ g\) 读作 \(f\) 卷 \(g\)
显然的 狄利克雷卷积有 交换律 结合律 分配律
对于常见的的积性函数:
上三式可进一步推到:
上述内容理解后,莫比乌斯反演便水到渠成:
对于 $$F = f * I$$
有 $$f = F * \mu$$
这便是莫比乌斯反演
莫比乌斯反演的一些结论
-
\[\sum_{d | n}\mu(d) = [n = 1] \]
-
\[\sum_{i = 1}^n\sum_{d | n}\mu(d) = \sum_{d = 1}^{n}\lfloor\frac{n}{d}\rfloor\mu(d) \]
-
\[\sum_{i = 1} ^ n \sum_{j = 1} ^ m [gcd(i, j) = 1] = \sum_{d = 1}^{min(n, m)} \mu(d) \lfloor\frac{n}{d}\rfloor \lfloor \frac{m}{d} \rfloor \]
结论3的推导过程
杜教筛
杜教筛是一种低于线性复杂度求积性函数前缀和的奇妙算法
举个例子 现在需要计算 \(\sum_{i = 1} ^ n f(i)\) 其中\(f(i)\)为积性函数
构造 $f * g = h $ 记 \(S(n) = \sum_{i = 1} ^ n f(i)\)
推导过程:
提出右边S的第一项:
推导完成,具体的,使用整除分块和递归的方法实现即可
举个栗子:
求 \(\sum_{i = 1} ^ n \mu(i)\), 构造 \(\mu * I = \varepsilon\) 对应上述推导中的 \(f *g = h\)
我们可以得到: $$S(n) = 1 - \sum_{d = 2} ^ n S(\lfloor \frac{n}{d} \rfloor)$$
类似的
求 \(\sum_{i = 1} ^ n \varphi(i)\), 构造 \(\varphi * I = id\) 对应上述推导中的 \(f *g = h\)
我们可以得到: $$S(n) = \sum_{i = 1} ^ n id(i) - \sum_{d = 2} ^ n S(\lfloor \frac{n}{d} \rfloor)$$