【OI-wiki #5805】feat(math/number-theory/sqrt-decomposition.md): 增加数论分块的拓展 & 改动部分格式
以计算含有 \(\left\lfloor\sqrt{\frac{n}{d}}\right\rfloor\) 的和式为例。考虑对于一个正整数 \(n\),如何求出集合
\[S=\left\{\left\lfloor\sqrt{\frac{n}{d}}\right\rfloor\mid d\in \mathbb{N}_{+}, d\leq n\right\} \]的所有值,以及对每一种值求出哪些 \(d\) 会使其取到这个值。可以发现:
- 因为 \(\left\lfloor\sqrt{\frac{n}{d}}\right\rfloor\) 是单调不增的,所以对于所有 \(v\in S\),使得 \(\left\lfloor\sqrt{\frac{n}{d}}\right\rfloor=v\) 的 \(d\) 必然是一段区间。
- 对于任意正整数 \(t\leq n\),我们对 \(\leq t\) 与 \(>t\) 的 \(v\in S\) 分别分析,可以发现 \(t+n/t^2\geq |S|\),取 \(t=\sqrt[3]{n}\) 得到 \(|S|\) 的一个上界为 \(O(\sqrt[3]n)\)。
这些结论与数论分块所需的引理相似,因此猜测可以写为数论分块形式。
结论是:使得式子
\[\left\lfloor\sqrt{\frac{n}{p}}\right\rfloor=\left\lfloor\sqrt{\frac{n}{q}}\right\rfloor \]成立的最大的 \(q\) 满足 \(p\leq q\leq n\) 为
\[\left\lfloor\frac{n}{\left\lfloor\sqrt{\frac{n}{p}}\right\rfloor^2}\right\rfloor \]证明
令 \(v=\left\lfloor\sqrt{\frac{n}{p}}\right\rfloor=\left\lfloor\sqrt{\frac{n}{q}}\right\rfloor\),那么
\[\begin{aligned} v&\leq \sqrt{\frac{n}{q}}\\ v^2&\leq n/q\\ q&\leq n/v^2\\ q&\leq \left\lfloor n/v^2\right\rfloor \end{aligned} \]同理 \(p\leq \left\lfloor n/v^2\right\rfloor\)。同时
\[\left\lfloor \sqrt\frac{n}{\left\lfloor n/v^2\right\rfloor}\right\rfloor\geq \left\lfloor \sqrt\frac{n}{n/v^2}\right\rfloor=\left\lfloor v\right\rfloor=v \]又由 \(p\leq \left\lfloor n/v^2\right\rfloor\) 以及单调性可推出
\[v=\left\lfloor\sqrt{\frac{n}{p}}\right\rfloor\geq\left\lfloor \sqrt\frac{n}{\left\lfloor n/v^2\right\rfloor}\right\rfloor \]所以
\[\left\lfloor\sqrt\frac{n}{\left\lfloor n/v^2\right\rfloor}\right\rfloor=v \]所以 \(q=\left\lfloor n/v^2\right\rfloor\) 是最大的使得 \(\left\lfloor\sqrt{n/p}\right\rfloor=\left\lfloor\sqrt{n/q}\right\rfloor\) 成立的 \(q\)。
故原问题可以写为数论分块形式,代码与数论分块形式并无二异。
两个更加通用的结论
参照上方过程,可以同样地证明:
- 对于正整数 \(n\),使得式子 \(\left\lfloor\sqrt[\alpha]{n/p^\beta}\right\rfloor=\left\lfloor\sqrt[\alpha]{n/q^\beta}\right\rfloor\) 成立的最大的 \(q\) 满足 \(p\leq q\leq n\) 为 \(\left\lfloor\sqrt[\beta]{n/v^\alpha}\right\rfloor\),其中 \(v=\left\lfloor\sqrt[\alpha]{n/p^\beta}\right\rfloor\)。
- 对于正整数 \(n\),集合 \(\left\{\left\lfloor\sqrt[\alpha]{n/d^\beta}\right\rfloor\mid d\in \mathbb{N}_{+}, d\leq n\right\}\) 的大小的一个上界为 \(O(n^{1/(\alpha+\beta)})\)(大约为 \(2n^{1/(\alpha+\beta)}\))。