最大公約數之和
阿新 • • 發佈:2021-12-21
本文主要講一下最大公約數的和的推導過程(因為其太過經典,其實是博主老忘)。
原式:
\[\sum_{i = 1}^n\sum_{j = 1}^n\gcd(i, j) \]莫比烏斯反演經典入門題。
話不多說,進入正文。
\[\begin{aligned} & \sum\limits_{i = 1}^n\sum\limits_{j = 1}^ngcd(i, j) \\ =& \sum\limits_{k = 1}^nk\sum\limits_{i = 1}^n\sum\limits_{j = 1}^n[gcd(i, j) = k] \\ =& \sum\limits_{k = 1}^nk\sum\limits_{i = 1}^{ \left\lfloor\frac{n}{k}\right\rfloor}\sum\limits_{j = 1}^{ \left\lfloor\frac{n}{k}\right\rfloor}[gcd(i, j) = 1] \\ =& \sum\limits_{k = 1}^nk\sum\limits_{i = 1}^{ \left\lfloor\frac{n}{k}\right\rfloor}\sum\limits_{j = 1}^{ \left\lfloor\frac{n}{k}\right\rfloor}\epsilon(gcd(i, j)) \end{aligned} \]根據 \(\epsilon = \mu * I\)
我們先考慮這樣一個式子如何化簡:
\[\sum\limits_{i = 1}^{ \left\lfloor\frac{n}{k}\right\rfloor}\sum\limits_{d | i}\mu(d) \]把列舉 \(i\)
我們先列舉 \(d\),並把這個式子代入到剛才我們化簡得那個式子中去:
\[\begin{aligned} & \sum\limits_{k = 1}^nk\sum\limits_{i = 1}^{ \left\lfloor\frac{n}{k}\right\rfloor}\sum\limits_{j = 1}^{ \left\lfloor\frac{n}{k}\right\rfloor}\sum\limits_{d | (i, j)}\mu(d) \\ =& \sum\limits_{k = 1}^nk\sum\limits_{d = 1}^{ \left\lfloor\frac{n}{k}\right\rfloor}\left\lfloor\dfrac{n}{dk}\right\rfloor^2\mu(d) \end{aligned} \]再令 \(T = dk\)
至此,就已經是一般形式了,這個可以用整除分塊快速求解。
但是,這道題還沒有完,還可以進一步轉化。
我們知道 \(\varphi = \mu * id\),正好式子裡存在!所以:
\[\sum_{T = 1}^n\varphi(T)\lfloor\frac nT\rfloor^2 \]現在,這道題才算是真正結束了(感覺一下子式子裡啥都沒了 QwQ)
\[\_EOF\_ \]本文來自部落格園,作者:xixike,轉載請註明原文連結:https://www.cnblogs.com/xixike/p/15713088.html