整除分塊

用於計算$\sum_{i=1}^n f(\lfloor{n/i} \rfloor)*i$之類的函式

整除的話其實很多函式值是一樣的,對於每一塊一樣的商集中處理即可

若一個商的左邊界為l,則右邊界為$\lfloor{\frac{n}{\lfloor\frac{n}{l}\rfloor}}\rfloor$

這樣時間複雜度就是$O(\sqrt{n})$

如果是類似$\sum_{i=1}^n f(\lfloor{n/i} \rfloor)*i \ opt \ f(\lfloor{m/i} \rfloor)$

就讓r=$min(\lfloor{\frac{n}{\lfloor\frac{n}{l}\rfloor}}\rfloor,\lfloor{\frac{m}{\lfloor\frac{m}{l}\rfloor}}\rfloor)$

這樣的話記得另$l<=min(n,m)$,否則會出現除以0的情況

莫比烏斯函式

如果n的因數中沒有平方數,則$\mu n=(-1)^k$,k為n質因數的個數

否則$\mu n=0$

特別的,$\mu 1=1$

這樣就可以得到一個性質:一個數所有因數的$\mu$之和等於0,除非這個數是1

證明:設m有n個質因數,則原式$=1-C_n^1+C_n^2-C_n^3...C_n^n$

結合二項式定理:原式$=(1-1)^n=0$,證畢

這個性質很常用,比如$[gcd(i,j)]=1$這類式子可以轉化成$\sum_{d|gcd(i,j)} \mu(d)$

莫比烏斯反演

若$F(x)=\sum_{d|x} f(x)$

那麼$f(x)=\sum_{d|x} F(d)*\mu(x/d)$

但一般而言用的更多的是莫比烏斯函式的性質