莫比乌斯反演习题:bzoj 1257 [CQOI2007]余数之和
条评论题目描述
给出正整数$n$和$k$,计算$f(n, k)=k \text{ mod } 1 + k \text{ mod } 2 + k \text{ mod } 3 + \cdots + k \text{ mod } n$的值
其中$k \text{ mod } i$表示$k$除以$i$的余数
$n,k \le 10^9$
题解
$$
\begin{aligned}
f(n,k)
&=\sum_{i=1}^{n}k \text{ mod }i \\
&=\sum_{i=1}^{n}k - \lfloor \frac{k}{i} \rfloor i \\
&=nk - \sum_{i=1}^{n} i \lfloor \frac{k}{i} \rfloor \\
\end{aligned}
$$
显然$\lfloor \frac{k}{i} \rfloor$的取值只有$O(\sqrt k)$种,数论分块即可
代码
1 |
|
- 本文链接:https://czyhe.me/solution/mob-inv/problems/bzoj-1257/
- 版权声明:转载请注明出处
分享