【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)}\))。