数论分块与整除相

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]$为一块,分块求和即可

 

以上是关于数论分块与整除相的主要内容,如果未能解决你的问题,请参考以下文章

整除分块(数论)

整除分块数论C. Floor and Mod

CodeForces 1202F(数论,整除分块)

整除分块数论C. Floor and Mod

luogu2261余数求和题解--整除分块

[CQOI2007]余数求和-整除分块