[题解]CF1717E

给定 \(n\),求 \(\sum\limits_{a+b+c=n}\operatorname{lcm}(c, \gcd(a, b))\)

简单技巧不会,以后记得尝试一下。

注意到 \(\gcd(a, b)=\gcd(a, a+b)=\gcd(a, n-c)\),所以考虑枚举 \(c\) 变成 \(\sum\limits_{c=1}^{n-2}\sum\limits_{a=1}^{n-c-1}\operatorname{lcm}(c, \gcd(a, n-c))\),此时见到 \(\gcd\),又想到一个可以枚举 \(\gcd\) 的技巧,由于 \(\gcd(a, n-c)\)\(n-c\) 的因数,这样就变成 \(\sum\limits_{c=1}^{n-2}\sum\limits_{d|n-c}\sum\limits_{\gcd(a, n-c)=d}\operatorname{lcm}(c, d)\)

此时你就发现内层循环特别眼熟了,我们转化一下就是 \(\gcd(a/d, (n-c)/d)=1\),后者是固定的,前者就是欧拉函数,所以原式变成 \(\sum\limits_{c=1}^{n-2}\sum\limits_{d|n-c}\varphi\left(\dfrac{n-c}{d}\right)\operatorname{lcm}(c, d)\),可以 \(O(n\sqrt{n})\) 计算。

计算时注意一个细节,由于 \(a\) 不能等于 \(n-c\),所以枚举 \(\gcd\) 时也应该忽略 \(d=n-c\) 的情况。

posted @ 2022-09-04 16:17  ajthreac  阅读(35)  评论(0编辑  收藏  举报