• 莫比乌斯反演


    真tmd是个大坑呢……( 数论真好玩毒瘤
    首先莫比乌斯反演是一个可以帮助我们加快计算或使计算变得简便的一种方法。至于如何简便,将在以后的题目中体现(完了又挖了个坑


    莫比乌斯反演公式(f(x))是数论函数,(F(x))是其因子和函数,即(forall n in mathbb{N^*})满足(F(n)=sumlimits_{d|n} f(d))。则有$$f(n)=sum_{d|n}mu(d)F(frac{n}{d})$$其中(mu(x))为莫比乌斯函数,其定义为

    [mu(n)=egin{cases} 1 & mbox{if }n=1 \ (-1)^r & ext{if }n=prod_{i=1}^r p_i \ 0 & ext{otherwise} end{cases} ]

    至于为何这么定义,如果熟悉反演的话稍微举几个例子就明白了,这里略去。

    在证明这个公式之前,先介绍几个有用的前置知识与引理。


    前置知识:积性函数、狄利克雷卷积(这个单拎出来在另一篇文章里总结了)。

    引理1. (mu(n))为积性函数。
    证明:等价于证明对于(forall gcd(m,n)=1),都有(mu(mn)=mu(m)mu(n))
    考虑(m=1)(n=1)的情景,显然成立;考虑(m,n)至少一个含有平方素因子的情况,亦显然成立。再考虑其他情况,则必有(m,n)的唯一素幂因子分解(m=prod_{i=1}^s p_i)(n=prod_{i=1}^t p_i),此时有(mu(mn)=(-1)^{s+t}=(-1)^s(-1)^t=mu(m)mu(n))。QED。

    引理2. 莫比乌斯函数的因子和函数(F(n))为单位函数。
    较简单,证略。
    注意到此引理有个常用推论:(sumlimits_{d|gcd(i,j)}mu(d)=[gcd(i,j)=1])

    引理3. 积性函数的因子和函数仍为积性函数。
    证明:等价于证明(forall gcd(m,n)=1)(F(n)=sumlimits_{d|n}f(d)),都有(F(mn)=F(m)F(n))成立。
    首先根据定义,有(F(mn)=sumlimits_{d|mn}f(d))。又(gcd(m,n)=1),则(mn)的每个因子必可唯一表示为(m)的因子(d_1)(n)的因子(d_2)的乘积。于是有

    [F(mn)=sum_{d|mn}f(d)=sum_{d_1|m \ d_2|n}f(d_1d_2)=sum_{d_1|m}f(d_1)sum_{d_2|n}f(d_2)=F(m)F(n) ]

    QED。


    现在给出证明莫比乌斯反演公式的两种方法。

    证明:(法一):根据上文的引理推导,有

    [sum_{d|n}mu(d)F(frac{n}{d})=sum_{d|n} {mu(d)} sum_{eleft| {frac{n}{d}} ight.} {F(e)} = sum_{dleft| {frac{n}{e}} ight.} {mu (d)} sum_{e|n} {F(e)} = f(n) ]

    QED。

    (法二):根据卷积,等价于证若(F=f*1),证明(f=F*mu)
    因为(1*mu=epsilon),所以(F*mu=f*1*mu=f)。QED。

  • 相关阅读:
    CSS------制作一个带+-的input框
    rest简介
    flask之flask-login登陆验证(一)
    Python之异常设计(一)
    flask之flask-sqlalchemy(一)
    flask之wtforms 表单验证(一)
    三 Django模型层之Meta
    二 Djano模型层之模型字段选项
    一 Django模型层简介
    Django之路由、模板和模型系统 (转载)
  • 原文地址:https://www.cnblogs.com/wzzyr24/p/11746976.html
Copyright © 2020-2023  润新知