其他分享
首页 > 其他分享> > 数论分块

数论分块

作者:互联网

应用

数论分块用于快速计算形如以下公式的和式

\[\sum_{i=1}^n f(i)g(\lfloor \frac{n}{i} \rfloor) \]

前提是 在\(O(1)\) 内计算出 \(f(r)-f(l)\) 或者已经处理出 \(f\) 的前缀和。

复杂度为 \(O(\sqrt{n})\)

数论分块结论

对于\(\lfloor \frac{n}{i} \rfloor\),一些连续的\(i\)的地方值相同,呈块状分布。

对于每一块,若起始下标是\(l\),则结束位置的下标是\(\lfloor \frac{n}{\lfloor \frac{n}{i} \rfloor} \rfloor\)

简单题目

1. 因数个数和

每次给一个x,问1到x的因数个数的和。

NC17450 因数个数和

2. 小G的约数

NC218398 小G的约数

标签:lfloor,frac,分块,数论,rfloor,因数
来源: https://www.cnblogs.com/beiy/p/16484036.html