zoukankan      html  css  js  c++  java
  • 莫比乌斯反演(小结)

    莫比乌斯反演在简化一些的数学算式,优化时间的方面效果显著,属于一种数学方法

    在一些数学问题中,使用反演与整出分块的方法可以大大优化程序的运行效率


    前置知识

    符号:

    • 规定:a⊥b的意思为:a与b互质
    • 规定:[ X ] 的意思为:判断 X 是否为真,是则返回 1 ,否则返回 0,相当于一个bool类型的变量
    • ps: 本文的数论函数一般用加粗字母(在数学公式中函数的为数论函数,未加粗 (不会))或希腊字母表示,如f ,g , (mu)

    数论函数

    • 定义:函数 f(x)为数论函数,是指其定义域为正整数域,陪域(可理解为值域)为复数域的函数
    • 定义:数论函数加法: ( f+g )(x)=f(x)+g(x)
    • 定义:数论函数数乘: x · f(n) = (x f) (n)
    • 定义:积性函数:设有数论函数 f ,对于任意互质的两个正整数 x,y , 均有: (f(xy)= f(x) imes f(y)),则称函数 f 为积性函数
    • 定义:完全积性函数:设有数论函数 f ,对于任意的两个正整数 x , y ,均有: (f( xy ) = f( x ) imes f( y )),则称函数 f 为完全积性函数
    常见的积性函数:

    1.除数函数:(sigma_k(n)),表示 n 的所有约数的 k 次幂之和

    2.欧拉函数:(varphi(n)),表示不超过 n 且与 n 互质的正整数的个数

    3.莫比乌斯函数:(mu(n)),当 n = 1 时,函数的值为 1 ,当 n 可以表示为k个不同的质数之积时,函数的值为 ((-1)^k),其余情况下,函数的值为 0

    常见的完全积性函数

    1.幂函数:(Id_k(n) = n^k)

    2.单位函数:(varepsilon(n)),当 n 等于 1 时,函数的值为 1 ,当 n 大于 1 时,函数的值为 0

    • 既然积性函数的性质为:(f(nm)=f(n) imes f(m)),那么就可以对一个积性函数利用线性筛在(O(n))的复杂度内将 1~n 之间的所有函数值处理得到

    狄利克雷卷积

    • 定义:狄利克雷卷积: 设有两个数论函数 fg ,则定义 f * g (n)= (sum_{i|n} f (i) g (frac{n}{i})) ,其中卷积符号为 *,而非乘法运算符( imes)
    狄利克雷卷积满足一些性质:

    1.交换律:f * g (n) = g * f (n) ,将其展开,即可证明

    2.结合律:( f * g ) * h (n) = f * ( g * h ) (n) , 将其展开,变为:(sum_{i(jh)=n}{(f(i)g(h))h(k)}),交换枚举顺序,有:(sum_{i(jh)=n}{f(i)(g(h)h(k))}),即可证明

    3.分配率:f * h + g * h =(f + g )* h , 还是展开:有:(sum_{ik=n}{f(i)h(k)} + sum_{jk=n}{g(j)h(k)}),做一步提取公因式,有:(sum_{k|n}{h(k)[g(frac{n}{k})+f(frac{n}{k})]} = sum_{k|n}{h(k)}{(f+g)(frac{n}{k})}),故等式成立

    4.数乘:(x f)* g = x ( f * g )(显然易证)

    5.单位元: f * (varepsilon) = f

    6.逆元:设有数论函数 f ,则存在一个数论函数 g ,使得 f * g = (varepsilon) ,则称数论函数 gf 的逆元

    7.若 fg 为积性函数,则 f * g 亦为积性函数

    8.(mu * I = varepsilon (varepsilon(n) = [n=1] , I(n)=1))

    9.(varphi * I = id ~ (id(n) = n))

    简证:该式子运用卷积,可以转化为: (sum_{d|n}{varphi(d)})

    (n) 有且仅有一个质因子时,可以转化为 (sum_{i=1}^{k}{p^i} imes frac{p-1}{p} + 1)
    ,即为一个简单的等比数列,经化简,即可得到该式等于 (n)

    其他情况下,即为每一个质因子都做如上式运算,即有 (sum_{j=1}^{k}{sum_{i_j=1}^{m_j}{varphi({p_j}^{i_j})}}) ,就等于 (n)

    10.(mu * id = varphi)


    莫比乌斯反演

    莫比乌斯函数

    上面已经给出了莫比乌斯函数的定义,这里讲几个性质

    1.对于任意的正整数 n ,(sum_{d|n}{mu(d)=[n=1]})

    2.对于任意的正整数 n ,(sum_{d|n}{frac{mu(d)}{d}} = frac{varphi(n)}{n})

    对于第一条性质,使用(mu)的定义即可证明

    对于第二条性质,它巧妙地将莫比乌斯函数 (mu) 和欧拉函数 (varphi) 结合到了一起,作为一条比较神奇的性质

    对于第一条性质,还有一个较为常用的推论为:([gcd(i,j)=1]=sum_{d|gcd(i,j)}{mu(d)})

    证明也比较简单,直接应用第一条性质,将(n)换成(gcd(i,j))即可

    莫比乌斯反演

    • 引理:(mu * 1 = varepsilon) (其中 “1” 为返回值常数函数)

    • 定理:由引理即可得到莫比乌斯反演的式子:若有 (g(n) = sum_{d|n}{f(d)}) , 则有 (f(n) = sum_{d|n}{mu{(frac{n}{d})}g{(d)}})

      同时,我们可以得到另一个方向上的莫比乌斯反演:若有 (g(x) = sum_{x|y}{f(y)}) , 则有 (f(x) = sum_{x|y}{mu{(frac{y}{x})}g{(y)}})

    到此,莫比乌斯反演的内容就大致讲完了,下面放几道例题

  • 相关阅读:
    子网掩码
    子网
    ARP
    IPv6
    Host-Only(仅主机模式)
    NAT(地址转换模式)
    Bridged(桥接模式)
    VMware配置网络/Linux
    three months timestamp
    spring cloud禁止输出日志:ConfigClusterResolver : Resolving eureka endpoints via configuration
  • 原文地址:https://www.cnblogs.com/jd1412/p/13284294.html
Copyright © 2011-2022 走看看