zoukankan      html  css  js  c++  java
  • 莫比乌斯反演

    未完善,瞎看看即可

    正文

    莫比乌斯函数定义为:

    (mu(n)=egin{cases}1&(n=1)\(-1)^r&(n;有且仅有;r;个互不相同的质因子)\0&(其他情况)end{cases})

    那么由定义我们可以推出一个性质:

    (sumlimits_{d|n}mu(d)=[n=1])

    证明

    显然这是莫比乌斯函数的和函数,所以它也是个乘性函数

    对于一个整数 n 我们显然可以将其唯一分解为 (n=p_1^{k_1}p_2^{k_2}dots p_n^{k_n})

    所以 (sumlimits_{d|n}mu(d)=sumlimits_{d|p_1^{k_1}}mu(d)sumlimits_{d|p_2^{k_2}}mu(d)dotssumlimits_{d|p_n^{k_n}}mu(d))

    而对于一个整数 (m=p^k)

    显然 (m=mu(1)+mu(p)+dots+mu(p^k))

    (=1+(-1)+0+0+dots+0=0)

    所以 (sumlimits_{d|p_1^{k_1}}mu(d)sumlimits_{d|p_2^{k_2}}mu(d)dotssumlimits_{d|p_n^{k_n}}mu(d)=0·0·dots·0=0)

    证毕

    推论:

    (sumlimits_{d| ext{gcd}(i,j)}mu(d)=[ ext{gcd}(i,j)=1])

    证明显然

    P2398 GCD SUM

    题目链接

    这道题是让我们求:

    (sumlimits^n_{i=1}sumlimits^n_{j=1}gcd(i,j))

    首先我们可以直接暴力计算,复杂度 (O(n^2)),显然是不可以的

    考虑使用莫比乌斯反演,我们发现原式

    根据欧拉 (varphi) 函数的性质

    (sumlimits_{d|n}varphi(d)=n)

    (=sumlimits^n_{i=1}sumlimits^n_{j=1}sumlimits_{d|gcd(i,j)}varphi(d))

    枚举 (d)

    (=sumlimits^n_{d=1}leftlfloordfrac{n}{d} ight floor^2varphi(d))

    直到有一天我看见了一个大佬说可以用狄利克雷卷积做

    然后想了两三天,终于会了

    原式:

    (sumlimits^n_{i=1}sumlimits^n_{j=1}gcd(i,j))

    (=sumlimits^n_{d=1}sumlimits^n_{i=1}sumlimits^n_{j=1}[gcd(i,j)=d])

    (=sumlimits^n_{d=1}dsumlimits^{leftlfloorfrac{n}{d} ight floor}_{i=1}sumlimits^{leftlfloorfrac{n}{d} ight floor}_{j=1}[gcd(i,j)=1])

    (=sumlimits^n_{d=1}dsumlimits^{leftlfloorfrac{n}{d} ight floor}_{i=1}sumlimits^{leftlfloorfrac{n}{d} ight floor}_{j=1}sumlimits_{r|gcd(i,j)}mu(r))

    (=sumlimits^n_{d=1}dsumlimits_{r=1}^{leftlfloorfrac{n}{d} ight floor}mu(r)leftlfloordfrac{n}{dr} ight floor^2)

    对于 (dr) 我们发现它的取值为 ([1,n]) 于是乎我们试着枚举,看看能不能化简

    (=sumlimits^n_{dr=1}leftlfloordfrac{n}{dr} ight floor^2*X)

    此时 (X) 对应的是 (dr) 的每个取值后面的取整的那一坨出现的次数

    (=sumlimits^n_{dr=1}leftlfloordfrac{n}{dr} ight floor^2sumlimits_{k|dr}kmu(dfrac{dr}{k}))

    应用狄利克雷卷积

    (=sumlimits^n_{dr=1}leftlfloordfrac{n}{dr} ight floor^2varphi(dr))

    此时我们不用管 (d,r) 的具体取值,而只关心他们的乘积

    (=sumlimits^n_{k=1}leftlfloordfrac{n}{k} ight floor^2varphi(k))

  • 相关阅读:
    【东师软工】第二次成绩排行榜
    博客(懒得在cnblog移了)
    elementUI el-tree 修改无子项的样式
    流文件下载方法
    2.2.3 核心模块--理解.NetCore Configuration 配置管理
    Centos7下安装部署Asp.Net Core多版本依赖环境
    LADP认证接入
    Identity Server基础
    浅析DevOps中结合IAST的落地介绍
    从Leetcode的回文子串中学习动态规划和中心扩散法
  • 原文地址:https://www.cnblogs.com/zythonc/p/13977080.html
Copyright © 2011-2022 走看看