「Luogu-P4900」食堂

传送门

闲着没事写篇题解(

简单来说,就是要求

其中 $\lbrace x\rbrace$ 表示取 $x$ 的小数部分。

稍加思索,我们不难发现

因此,我们只需要关注下式的值

我们可以参考一下这道题

在这道题中,我们定义了

首先,如果不考虑 $x\%i=0$ 的情况,我们有

如果 $x\%i=0$,我们需要从 $f(x)$ 中减去 $i$,而所有满足该条件的 $i$ 的和就是 $x$ 的约数和,因此

我们可以类似地定义

从而我们有

然而我们需要的是

其中

不难发现当 $i<j$ 时 $i\%j=i$,从而

最终,我们得到

把上面这一坨东西预处理出来,我们就可以 $O(1)$ 地处理所有询问了。

评论