莫比乌斯反演的一些简单应用#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”。

原文地址:https://www.cnblogs.com/WR-Eternity/p/10994840.html