• 莫比乌斯反演的一些简单应用#2


    这篇接着莫比乌斯反演的一些简单应用#1,接着往下讲,没有看过上一篇博客的同学建议还是去看一下,很多在上一篇博客已经讲过的东西不在赘述,公式的推导过程有些跳跃。

    例4:

    求:(sum_{i=1}^nsum_{j=1}^mgcd(i,j))

    我们先枚举一下(gcd)

    ( sum_{i=1}^nsum_{j=1}^mgcd(i,j))

    (=sum_{d=1}^{n}dsum_{i=1}^nsum_{j=1}^m[gcd(i,j)=d])

    (=sum_{d=1}^ndsum_{i=1}^{lfloorfrac n d floor}sum_{j=1}^{lfloorfrac m d floor}[gcd(i,j)=1])

    (=sum_{d=1}^ndsum_{i=1}^{lfloorfrac n d floor}sum_{j=1}^{lfloorfrac m d floor}sum_{k|gcd(i,j)}mu(k))

    (=sum_{d=1}^ndsum_{k=1}^{lfloorfrac n d floor}mu(k) imeslfloorfrac n {kd} floor imeslfloorfrac m {kd} floor)

    在设(T=n imes k),然后把式子转化一下:

    (=sum_{T=1}^nlfloorfrac n T floor imeslfloorfrac m T floorsum_{d|T}d imesmu(lfloorfrac T d floor))

    因为(id*mu=varphi)

    所以:

    (=sum_{T=1}^nvarphi(T) imeslfloorfrac n T floor imeslfloorfrac m T floor)

    然后我们就能在(O(sqrt{n}))的时间内求解啦。

    例5:

    求:(sum_{i=1}^nsum_{j=1}^mlcm(i,j))

    先用一个小学学的式子,转换一下原式:(lcm(i,j)=frac{i imes j}{gcd(i,j)})

    ( sum_{i=1}^nsum_{j=1}^mlcm(i,j))

    (=sum_{i=1}^nsum_{j=1}^mfrac{i imes j}{gcd(i,j)})

    (=sum_{d=1}^ndsum_{k=1}^{lfloorfrac n d floor}mu(k) imes k^2 imessum_{i=1}^{lfloorfrac {n} {kd} floor}isum_{j=1}^{lfloorfrac {m} {kd} floor}j)

    设:(T=n imes k,F[n]=sum_{i=1}^ni)

    转换出来的式子张这样:

    (=sum_{T=1}^nF[lfloorfrac{n}{T} floor] imes F[lfloorfrac{m}{T} floor]sum_{d|T}mu(frac T d) imes d imes(frac T d)^2)

    (=sum_{T=1}^nF[lfloorfrac{n}{T} floor] imes F[lfloorfrac{m}{T} floor]sum_{d|T}mu(d) imes d imes T)

    (=sum_{T=1}^nT imes F[lfloorfrac{n}{T} floor] imes F[lfloorfrac{m}{T} floor]sum_{d|T}mu(d) imes d)

    嗯~~,看上去好像没有可以优化的地方。

    但是我们的亲戚(gcd)是可以(O(sqrt{n}))解决的呀,凭啥我(lcm)不行?!

    那么我们应该怎么优化呢?

    en,要是(sum_{d|T}mu(d) imes d)是个积性函数那就好了。

    等一下,好像和(id*mu)长得挺像的,好像还真有可能是积性函数。

    要不来证一下试试?

    (f(n)=sum_{d|n}mu(d) imes d),有((a,b)=1)

    那么因为((a,b)=1),所以(a,b)对于(f(a imes b))的贡献是独立不相交的。

    得到(f(a imes b)=f(a) imes f(b),(a,b)=1)

    众所周知——积性函数都能用欧拉筛在(O(sqrt{n}))的时间内求出来。

    那么我们现在就来想一下怎么筛吧。

    (x)的最小质因子为(y),而(i=x\%y)

    开始分类讨论:

    • (x)是一个质数:(f(x)=mu(1) imes1+mu(x) imes x=1-x)

    • (x=p^k),即(x)是一个质数的(k)次方:

      (f(x)=mu(1) imes1+mu(p) imes p+mu(p^2) imes p^2...+mu(p^k) imes k=1-p)

      (因为(p^2)项及以后每个数都有多个相同的质因子,因此(mu(p^t)=0) 。)

      所以如果有多个相同的质因子,其实对函数产生影响的只有(1)(p)两个而已。

    • (i\%y eq0),即(x)的最小质因子(y)只有一个:

      (f(x)=f(i) imes f(y)=f(i) imes(1-y))

    • (i\%y=0),即(x)的最小质因子(y)有多个:

      同样的,只有(1)(y)是有用的,所以:(f(x)=f(i))

    (Okay),大功告成!这样我们就能在(O(sqrt{n}))的时间内求解啦!


    今天也就先到这了,有空更 “莫比乌斯反演的一些简单应用#3”。

  • 相关阅读:
    ios学习Day3xiawu
    ios学习Day3
    linux系统设置回收站
    Linux sort命令的注意点
    markdown文件管理
    PG创建只读用户
    PG游标引用实例
    小狼毫输入法配置双拼输入
    日期相关
    PG数组使用
  • 原文地址:https://www.cnblogs.com/WR-Eternity/p/10994840.html
Copyright © 2020-2023  润新知