数论分块

应用

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

\[\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的约数

posted @ 2022-07-16 13:41  HIVM  阅读(38)  评论(0编辑  收藏  举报