zoukankan      html  css  js  c++  java
  • 重新认识莫比乌斯函数

    CSDN同步

    默认大家已经会反演。

    考虑一道题目:

    (sum_{i=1}^n mu^2(i)),其中 (n leq 10^{14}).

    没办法操作,考虑感性理解。

    求的是 (1-n) 中无平方因子数的个数。对于每个素数 (p1),因删去 (lfloor frac{n}{p1^2} floor) 个其平方的倍数。

    然后这样也会多做。比如形如 (p1^2p2^2) 的数就被重复删了,于是我们要把这些数加回来。有点像容斥原理?

    真正容斥。

    对于分解质因数后有一个指数 (>1) 的数可以忽略,其对答案无贡献。可分解为形如 (prod limits_{i=1}^p p_i) 形式的,设为 (d),则所有形如 (d^2k) 的数的个数会对答案造成影响,也就是 (lfloor frac{n}{d^2} floor). 但是是加还是减?我们要看 (p) 的奇偶性。也就是其贡献为 ((-1)^p lfloor frac{n}{d^2} floor),具体 (p=1,2) 的情况上面也有描述。

    ((-1)^p = mu (d)),这才是我们最大的发现!

    于是:

    [sum_{i=1}^n mu^2(i) = sum_{d=1}^{sqrt{n}} mu(d) lfloor frac{n}{d^2} floor ]

    感性理解完毕(估计理性理解不了这东西吧?)

    于是我们可以知道,(mu) 可以看做对整除关系的容斥。

    至此就可以用 (mathcal{O}(sqrt{n})) 的时间复杂度解决问题。

    简易的代码胜过复杂的说教。
  • 相关阅读:
    k8s使用私有镜像仓库
    spark client 配置lzo
    jvm系列(四):jvm调优-命令篇
    mysqldump 备份还原数据库
    df 卡死及ls无法查看文件
    记录一次服务器断电,直接进入救援模式
    nginx开机自启脚本
    mongodb启动关闭脚本
    mongo数据备份恢复
    centos 快速配置网络
  • 原文地址:https://www.cnblogs.com/bifanwen/p/15063644.html
Copyright © 2011-2022 走看看