Möbius

莫比乌斯函数

定义

设 n=p1k1⋅p2k2⋅⋯⋅pmkmn = p_1^{k_1}\cdot{}p_2^{k_2}\cdot\cdots\cdot{}p_m^{k_m}, 其中 pip_i 为素数,则

μ(n)={1n=1(−1)m∏i=1mki=10otherwise\mu(n) = \left\{ \begin{array}{ll} 1 & n = 1 \\ (-1)^m & \prod_{i=1}^{m}{k_i} = 1 \\ 0 & \text{otherwise} \end{array} \right.

上述式子第二行的条件即每个素因子的次数都为 11, 易知有平方因子的数的莫比乌斯函数值为 00.

性质

性质一

莫比乌斯函数是积性函数.

μ(a)μ(b)=μ(a⋅b),a⊥b\mu(a)\mu(b) = \mu(a\cdot{b}), \quad a \bot b

其中 a⊥ba \bot b 表示 gcd⁡(a,b)=1\gcd(a,b) = 1,即 a,ba, b 互质.

性质二

∑d∣nμ(d)=[n=1]\sum_{d|n}{\mu(d)} = [n = 1]

其中 [n=1][n = 1] 表示当 n=1n = 1 时为 11,否则为 00.

性质三

∑d∣nμ(d)d=φ(n)n\sum_{d|n}{\mu(d) \over d} = \frac{\varphi(n)}{n}

线性筛

(此代码待整理)

void sieve() {
    fill(isPrime, isPrime + maxn, 1);
    mu[1] = 1, num = 0;
    for (int i = 2; i < maxn; ++i) {
        if (isPrime[i]) primes[num++] = i, mu[i] = -1;
        static int d;
        for (int j = 0; j < num && (d = i * primes[j]) < maxn; ++j) {
            isPrime[d] = false;
            if (i % primes[j] == 0) {
                mu[d] = 0;
                break;
            } else mu[d] = -mu[i];
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

莫比乌斯反演

定理

如果对于数论函数 F(n)F(n) 和 f(n)f(n),有

F(n)=∑d∣nf(d)F(n) = \sum_{d|n}{f(d)}

那么

f(n)=∑d∣nμ(d)F(nd)=∑d∣nμ(nd)F(d)f(n) = \sum_{d|n}{\mu(d)F\left({n \over d}\right)} = \sum_{d|n}{\mu\left(\frac{n}{d}\right)F(d)}

证明

∑d∣nμ(d)F(nd)=∑d∣n[μ(d)∑i∣ndf(i)]\sum_{d|n}{\mu(d)F\left({n \over d}\right)} = \sum_{d|n}{\left[\mu(d)\sum_{i|\frac{n}{d}}{f(i)}\right]}

其中 dd 是 nn 的因子,ii 是 nn 除 dd 以外的因子, 于是上式也等于

∑d∣n[f(d)∑i∣ndμ(i)]=性质2f(n)\sum_{d|n}{\left[f(d)\sum_{i|\frac{n}{d}}{\mu(i)}\right]} \xlongequal{\text{性质2}} f(n)

由性质2,当且仅当 n/d=1n/d = 1 时关于 μ\mu 的和式不为零.

另一种表述

F(n)=∑n∣df(d)⇒f(n)=∑n∣dμ(dn)F(d)F(n) = \sum_{n|d}{f(d)} \Rightarrow f(n) = \sum_{n|d}{\mu\left(d \over n\right)F(d)}

变形

f(i)=∑d=1⌊ni⌋g(d⋅i)⇒g(i)=∑d=1⌊ni⌋μ(d)f(d⋅i)f(i) = \sum_{d=1}^{\left\lfloor\frac{n}{i}\right\rfloor}{g(d\cdot{}i)} \Rightarrow g(i) = \sum_{d=1}^{\left\lfloor\frac{n}{i}\right\rfloor}{\mu(d)f(d\cdot{i})}

应用

其他技巧

如果 d(n)d(n) 为 nn 的约数个数,则

d(nm)=∑i∣n∑j∣m[gcd⁡(i,j)=1]d(nm) = \sum_{i|n}\sum_{j|m}[\gcd(i,j) = 1]

Last Updated: 8/18/2018, 2:32:44 PM