UVA13131 Divisors 题解

Posted on 2024-03-03 18:33  _XOFqwq  阅读(6)  评论(0编辑  收藏  举报

题意:求 \(n\) 的因子中不能\(k\) 整除的数之和。

考虑成对的枚举 \(n\) 的所有因子 \(a_i\)\(\dfrac{n}{a_i}\),先判断 \(a_i \bmod k\) 是否不为 \(0\),若是则累加 \(a_i\);再判断 \(\dfrac{n}{a_i} \bmod k\) 是否不为 \(0\),若是则累加 \(\dfrac{n}{a_i}\)

注意特判当 \(n\) 为完全平方数时,若 \(\sqrt{n} \bmod k\) 不为 \(0\) 则仅需被累加一次。

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