luogu3768 简单的数学题题解

luogu3768 简单的数学题题解

​ 原题地址:https://www.luogu.com.cn/problem/P3768

​ 题意:求

[Sigma_{i=1}^nSigma_{j=1}^n ijgcd(i,j) ]

​ 这个式子看起来很基础,但是可以看到数据范围大于(1e8),求和上指标又同为(n),此题肯定有一些特殊的做法

​ 先按照常规的套路,设

[d=(i,j) ]

​ 并将(d)直接提出来

[Sigma_{d=1}^nd^3 Sigma_{i=1}^{n/d}Sigma_{j=1}^{n/d}ij[(i,j)=1] ]

​ 右边的式子用莫比乌斯函数的和式替代

[Sigma_{d=1}^nd^3 Sigma_{i=1}^{n/d}Sigma_{j=1}^{n/d}ijSigma_{k|(i,j)}mu(k) ]

​ 将(k)往左边提

[Sigma_{d=1}^nd^3 Sigma_{k=1}^{n/d}k^2mu(k)(Sigma_{i=1}^{n/kd}i)^2 ]

​ 设右边的和式为(c),并用(T=kd)换元

[Sigma_{d=1}^nd^3 Sigma_{T=1}^n c(T)^2(T/d)^2mu(T/d) ]

​ 整理式子

[Sigma_{T=1}^nc(T)^2T^2Sigma_{d|T}dmu(T/d) ]

​ 根据狄利克雷卷积的性质

[varphi=mu*id ]

​ 可以将右边的式子用(varphi)代替

[Sigma_{T=1}^n c(T)^2T^2varphi(T) ]

​ 观察右侧的式子,可以发现(T^2varphi(T))是一个积性函数(两个数论函数的积仍为积性函数),考虑处理这一部分,试图用杜教筛的式子向上套

[g(1)S(n)=Sigma_{i=1}^nH_i-Sigma_{i=2}^ng(i)S(n/i) ]

​ 其中

[S(n)=Sigma_{i=1}^nf(i),H=f*g,f(n)=n^2varphi(n) ]

​ 观察(f(n))(varphi)难以直接处理,肯定要被转化掉,那就利用狄利克雷卷积中的(id=I*varphi),设(g(n)=1)

[H(n)=n^2Sigma_{d|n}varphi(d)=n^3 ]

​ 通过解递推方程可以发现,(Sigma_{i=1}^nH_i)就是原式中的(c^2),于是式子的形式就很简洁了

[S(n)=c(n)^2-Sigma_{i=2}^ni^2S(n/i) ]

​ 直接代入原式求解就可以辣

​ 小结:此题在莫反的基础上有扩展,上指标相同看似简化条件,实际上对性能要求更高。推式子时利用了狄利克雷卷积来处理(mu),并在最后杜教筛处理前缀和时再次利用了(varphi)的性质,算是对数论函数关系的灵活拓展

原文地址:https://www.cnblogs.com/nebulyu/p/13500302.html