Luogu P2303 [SDOI2012] Longge 的问题 解题报告
求 $\sum\limits_{i=1}^n \gcd(i, n)$
$n \leq 2 ^ {32}$
解题思路:
数学题。(第一次推出式子来真的好开心hhhh)
首先看到 gcd ,第一反应应该是从 $n$ 的因数开始思考。
那么我们把 $n$ 质因数分解,设 $d | n$
我们要求的东西其实就是 $\sum\limits_{d = 1}^n (d * \sum\limits_{i = 1}^n[\gcd (i,n) = j])$
化简一波式子:
$$
\begin{aligned}
&\sum\limits_{d = 1}^n(d * \sum\limits_{i = 1}^n[\gcd (i,n) = j])\
& = \sum\limits_{d = 1}^n(d * \sum\limits_{i = 1}^n[\gcd (i/j,n/j)])\
& = \sum\limits_{d = 1}^n(d * \varphi(n/j))\
& = \sum\limits_{d|n}(d * \varphi(n/j))
\end{aligned}
$$
然后直接算就行了。
时间复杂度$O(d(n) * \sqrt{n})$
代码:
1 | ll n,ans; |
Luogu P2303 [SDOI2012] Longge 的问题 解题报告
https://doubeecat.cn/post/Luogu-P2303-[SDOI2012]-Longge-的问题-解题报告/