数论分块与整除相
Posted lfri
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数论分块与整除相相关的知识,希望对你有一定的参考价值。
引理一
$$\forall a,b,c\in\mathbbZ,\left\lfloor\fracabc\right\rfloor=\left\lfloor\frac\left\lfloor\fracab\right\rfloorc\right\rfloor$$
略证:
\beginsplit &\fracab=\left\lfloor\fracab\right\rfloor+r(0\leq r<1)\\ \Rightarrow &\left\lfloor\fracabc\right\rfloor =\left\lfloor\fracab\cdot\frac1c\right\rfloor =\left\lfloor \frac1c\left(\left\lfloor\fracab\right\rfloor+r\right)\right\rfloor =\left\lfloor \frac\left\lfloor\fracab\right\rfloorc +\fracrc\right\rfloor =\left\lfloor \frac\left\lfloor\fracab\right\rfloorc\right\rfloor\\ &&\square \endsplit
引理二
$$\forall n \in N, \left|\left\ \lfloor \fracnd \rfloor \mid d \in N \right\\right| \leq \lfloor 2\sqrtn \rfloor$$
$|V|$表示集合$V$的元素个数
略证:
对于$d \leq \left \lfloor \sqrtn \right \rfloor$,$\left \lfloor \fracnd \right \rfloor$有$\left \lfloor \sqrtn \right \rfloor$种取值.
对于$d \geq \left \lfloor \sqrtn \right \rfloor$,有$\left \lfloor \fracnd \right \rfloor \leq \left \lfloor \sqrtn \right \rfloor$,也只有$\left \lfloor \sqrtn \right \rfloor$种取值.
数论分块
数论分块的过程大概如下:考虑含有$\left \lfloor \fracni \right \rfloor$的求和式子($n$为常数)
对于任意一个$i$($i \leq n$),我们需要找到一个最大的$j$($i \leq j \leq n$),使得$\left \lfloor \fracni \right \rfloor = \left \lfloor \fracni \right \rfloor$.
那么$j = \left \lfloor \fracn\left \lfloor \fracni \right \rfloor \right \rfloor$.
略证:
\beginsplit &\left\lfloor\fracni\right\rfloor \leq \fracni\\ \Rightarrow &\left\lfloor\fracn \left\lfloor\fracni\right\rfloor \right\rfloor \geq \left\lfloor\fracn \fracni \right\rfloor = \left\lfloor i \right\rfloor=i \\ \Rightarrow &i\leq \left\lfloor\fracn \left\lfloor\fracni\right\rfloor \right\rfloor\\ &&\square \endsplit
即$j = \left \lfloor \fracn\left \lfloor \fracni \right \rfloor \right \rfloor$.
利用上述结论,我们每次以$[i,j]$为一块,分块求和即可
以上是关于数论分块与整除相的主要内容,如果未能解决你的问题,请参考以下文章