最小公倍数的和
\(\sum_{i = 1}^n\ \sum_{j=1}^m\ lcm(i, j)\)
\(=\ \sum_{i=1}^n\ \sum_{j=1}^m\ \frac{ij}{gcd(i,j)}\)
\(=\ \sum_{d=1}^n\ \sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\ \sum_{j=1}^{\lfloor\frac{m}{d}\rfloor}\ [gcd(i,j)=1]\ ijd\)
\(=\ \sum_{d=1}^n\ \sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\ \sum_{j=1}^{\lfloor\frac{m}{d}\rfloor}\ ijd\ \sum_{k\mid gcd(i,j)}\ \mu(k)\)
\(=\ \sum_{d=1}^n\ d\ \sum_{k=1}^{\lfloor\frac{n}{d}\rfloor}\ \mu(k)\ \sum_{i=1}^{\lfloor\frac{n}{kd}\rfloor}\ \sum_{j=1}^{\lfloor\frac{m}{kd}\rfloor}\ (ik)\ (jk)\)
\(=\ \sum_{d=1}^n\ d\ \sum_{k=1}^{\lfloor\frac{n}{d}\rfloor}\ \mu(k)\ k^2 \sum_{i=1}^{\lfloor\frac{n}{kd}\rfloor}\ \sum_{j=1}^{\lfloor\frac{m}{kd}\rfloor}\ i j\)
\(=\ \sum_{d=1}^n\ d\ \sum_{k=1}^{\lfloor\frac{n}{d}\rfloor}\ \mu(k)\ k^2 \sum_{i=1}^{\lfloor\frac{n}{kd}\rfloor}\ i \sum_{j=1}^{\lfloor\frac{m}{kd}\rfloor}\ j\)
为什么我们要专门做这么个小动作,因为这样可以更方便的让大家观察出我们可以用两个高斯求和来化简
\(=\ \sum_{d=1}^n\ d\ \sum_{k=1}^{\lfloor\frac{n}{d}\rfloor}\ \mu(k)\ k^2 \frac{(1+\lfloor\frac{n}{kd}\rfloor)\lfloor\frac{n}{kd}\rfloor(1+\lfloor\frac{m}{kd}\rfloor)\lfloor\frac{m}{kd}\rfloor}{4}\)
然后我们设\(D=kd\) ,再设后面的分式为\(f(\lfloor\frac{n}{D}\rfloor,\lfloor\frac{m}{D}\rfloor)\)
所以可以得到
\(\sum_{D=1}^n\ D\ f(\lfloor\frac{n}{D}\rfloor,\lfloor\frac{m}{D}\rfloor)\ \sum_{x\mid D}\ \mu(x)\ x\)
当然,我们再设 \(g(D) = \sum_{x\mid D}\ \mu(x)\ x\)
所以最终原式可以变成
\(\sum_{D=1}^n\ D\ f(\lfloor\frac{n}{D}\rfloor,\lfloor\frac{m}{D}\rfloor)\ g(D)\)
那么最后需要我们做的,就是要快速求出这两个函数
首先对于第一个函数\(f\) ,我们可以采取下底分块的方式在\(\sqrt{n}\)内完成这个操作
然后对于第二个函数\(g\) ,我们可以考虑配合下底分块来用线筛的方法求出前缀和来完成整个操作
那么线筛可以分为如下的不同情况讨论:
\((1)\) 考虑任一质数\(p\) ,\(g(p)=\mu(1)\ \cdot 1 +\mu(p)\cdot p=1-p\)
\((2)\) 考虑$g(a\cdot p) \ \ \ (gcd(a,p)=1) $ 这个时候分两个子情况:
\(\ \ \ \ \ i) \ \ \ gcd(x,p)=1\)
此时对答案的贡献为\(g(a)\)
\(\ \ \ \ \ ii)\ \ \ gcd(x,p)=p\)
此时对答案的贡献为\(\mu(p) \cdot g(a) \cdot p\)
所以最终的贡献为\((1-p)\cdot g(a)\)
\((3)\) 考虑$g(a,p) \ \ \ (gcd(a,p)=p)\ p $ 是 $ a$ 的最小质因数
这种情况其实由于它要求的 \(\mu\) 函数的特殊性质,贡献就是$ g(a) $
你可以这样想,一旦有了两个及以上的$ p$ ,它新增的贡献一定为$ 0$
综上所述,我们则完美的解决了这个问题