数论杂项

数论分块

结论:对于正整数 \(n\),对于所有正整数 \(d\leq n\),\(\left\lfloor\frac nd\right\rfloor\) 最多有 \(\left\lfloor2\sqrt{n}\right\rfloor\) 种不同取值。

证明:对于 \(d\leq \sqrt{n}\),\(\left\lfloor\frac nd\right\rfloor\) 最多有 \(\left\lfloor\sqrt{n}\right\rfloor\) 种不同取值。对于 \(d\gt \sqrt{n}\),\(\left\lfloor\frac nd\right\rfloor\) 最多有 \(\left\lfloor\sqrt{n}\right\rfloor\) 种不同取值。

对于上取整有类似结论。

结论:\(\left\lfloor\frac nd\right\rfloor=k\) 时,\(d\) 的取值范围是 \(\frac n{k+1}\lt d\leq \frac nk\)

证明:由 \(\left\lfloor\frac nd\right\rfloor=k\),得

\[\begin{aligned} d\times k\leq &n\lt d\times(k+1)\\ \frac n{k+1}\lt &d\leq \frac nk \end{aligned} \]

所以当 \(\left\lfloor\frac ni\right\rfloor=\left\lfloor\frac nj\right\rfloor\) 时,\(j\) 的最大值为 \(\left\lfloor\frac{n}{\left\lfloor\frac{n}{i}\right\rfloor}\right\rfloor\)。

因此,枚举 \(i\) 时,跳过与当前除法向下取整结果相同的所有的 \(i\),只需要将 \(i\) 设为 \(\left\lfloor\frac{n}{\left\lfloor\frac{n}{i}\right\rfloor}\right\rfloor+1\) 即可。

参考资料

上一篇:实验二 数字类型及其操作(新)


下一篇:【题解】Luogu-P5221 Product