最小公倍数的和

\(\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$

综上所述,我们则完美的解决了这个问题

转载于:https://www.cnblogs.com/LLppdd/p/8410043.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值