ARC160B Triple Pair 题解

ARC160B

不妨令 $x\ge y\ge z$。

发现当 $x$ 很大时,$y$ 和 $z$ 会很小。当 $x > \sqrt{n}$ 时,因为 $y, z\le \lfloor\dfrac{n}{x}\rfloor$,则 $yz$ 显然小于 $n$。

考虑以值域分界,令 $B = \lfloor \sqrt{n}\rfloor$。

当 $x\le B$ 时,贡献显然为 $\sum\limits_{i = 1}^{T} i^2$。

当 $x > B$ 时,对于每个 $x$,贡献为 $\lfloor \dfrac{n}{x}\rfloor ^2$(此时 $yz$ 恒小于 $n$)。

则当 $x > B$ 时,总贡献为 $\sum\limits_{i = B + 1}^{n} \lfloor\dfrac{n}{i}\rfloor$,使用数论分块可以做到单次询问 $\mathcal{O}(\sqrt{n})$。

时间复杂度:$\mathcal{O}(T\sqrt{n})$

评测记录

posted @ 2023-05-25 22:53  Pengzt  阅读(0)  评论(0编辑  收藏  举报  来源