莫比乌斯函数与莫比乌斯反演

前言

这玩意无疑是高等数论Oier的必学玩意

身为一名准退役选手,数论一直不行,现在来亡羊补牢。。。似乎已经晚了

\(latex\)根本不会用qwq

感谢大佬的文章,写的很好。自己太菜

若有错误,欢迎指出

正文

  • 莫比乌斯函数\(\mu\)

    这是反演的基础,本质上是容斥系数的函数。(不理解可以看gzy大佬的blog但大佬的文章太强,蒟蒻看不懂啊)

    \(d=\Pi_{i=1}^{k}p_i^{a_i}\)

    \(\mu(d)=\left\{\begin{matrix} 1& d=1 \\(-1)^k& max(a_i) =1 \\ 0 & otherwise \end{matrix}\right.\)

  • \(\mu\)的一些性质

    1.对于任意\(n\in N^+\)\(\sum_\text{d|n} \mu(d) = [n=1]\)

    证明

    \(n=1\)时,\(\mu(1)=1\)

    \(n\geq2\)

    \(n=\Pi_{i=1}^k {p_i}^{a_i}\)

    \(a_i\geq2\)不用管就是0啦

    于是我们就是在\(k\)个质因数中选择\(i\)个组成\(d\)

    对于\(i\)为奇数时的贡献是\(-1\)

    对于\(i\)为偶数时的贡献是\(1\)

    \(\sum_{i=0}^{k} \binom{k}{i}(-1)^i\)=\(\sum_{i=0}^k\binom ki(-1)^i1^{k-i}\)=\((-1+1)^k\)=\(0\)

    证毕

    2.对于任意\(n\in N^+\)\(\sum_\text{d|n}\frac{\mu(d)}d=\frac{\phi(n)}n\)

    证明不会

    3.对于任意质数\(p\)\(\mu(p)=-1\)

    由定义 \(\mu(p)=(-1)^1=-1\)

  • 关于\(\mu\)的求解

    因为\(\mu\)是个积性函数,所以我们可以方便的用线性筛求解

    线性筛什么的,以后可能会填一填坑

    放一下代码

    int mu[N],pri[N],tot;
    bool npr[N];
    void getmu(int n)
    {
        memset(npr,0,sizeof npr);
        tot=0,mu[1]=1;
        for(int i=2;i<=n;++i)
        {
            if(!npr[i])pri[++tot]=i,mu[i]=-1;
            for(int j=1;j<=tot&&i*pri[j]<=n;++j)
            {
                npr[pri[j]*i]=1;
                if(i%pri[j])mu[i*pri[j]]=-mu[i];
                else break;
            }
        }
    }
    
  • 莫比乌斯反演

    这里是重点了qwq

    反演的用处在于有一个好求的函数\(F(n)\),通过它来求关于其约数或倍数\(d\)的函数\(f(d)\)

    反演有两种形式

    1.约数形式

    \(F(n) = \sum_{d|n} f(d)\rightarrow f(n)=\sum_{d|n} \mu(\frac nd)F(d)\)

    2.倍数形式

    \(F(n) = \sum_{n|d} f(d)\rightarrow f(n)=\sum_{n|d} \mu(\frac dn)F(d)\)

  • 例题

    常见的应用求\(\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)=1]\)

    洛谷P2257 yy的gcd

posted @ 2018-12-31 17:36  Adscn  阅读(230)  评论(0编辑  收藏  举报