模板 - 数学 - 数论 - 莫比乌斯反演

莫比乌斯函数的性质:

当x有偶数个不同的质因子,mux=1,奇数个不同的,mu=-1,存在质因子的平方,0。

$\sum\limits_{d|n}{\frac{\mu(d)}{d}}=\frac{\varphi(n)}{n}$


莫比乌斯函数线性筛:

void mobius() {
    int i,j;
    mbs[1] = 1;
    fo(i,2,N) {
        if (!vis[i]) {
            p[++p[0]] = i;
            mbs[i] = -1;
        }
        for (j = 1; j <= p[0] && i * p[j] <= N; j++) {
            vis[i*p[j]] = 1;
            if (i % p[j] == 0) {
                mbs[i*p[j]] = 0;
                break;
            }
            mbs[i*p[j]] = - mbs[i];
        }
    }
}

莫比乌斯反演:

跟因数有关的:

$F(n) = \sum\limits_{d|n}f(d)$

可以得

$f(d) = \sum\limits_{d|n}\mu(d)F(\frac{n}{d})$

跟倍数有关的:

$F(d) = \sum\limits_{d|n}f(n)$

可以得

$f(d) = \sum\limits_{d|n}\mu(\frac{n}{d})F(n)$


示例:

求 $\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}[gcd(i,j)==d]$ :

也就是有多少对 $(i,j)$ 的 $gcd(i,j)==d$ 。

$\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}gcd(i,j) = \sum\limits_{x=1}^{\lfloor{\frac{n}{d}}\rfloor}\mu(x)$${\lfloor{\frac{n}{dx}}}\rfloor{\lfloor{\frac{m}{dx}}\rfloor}$

$\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}gcd(i,j)^k = \sum\limits_{d=1}^{n}d^k\sum\limits_{x=1}^{\lfloor{\frac{n}{d}}\rfloor}\mu(x)$${\lfloor{\frac{n}{dx}}}\rfloor{\lfloor{\frac{m}{dx}}\rfloor}$

猜你喜欢

转载自www.cnblogs.com/Yinku/p/10486966.html
今日推荐