线性预处理整除分块

有时候要求前 n n n 个:

暴力整除分块是 O ( n n ) O(n\sqrt n) O(nn ) 的,但可以线性预处理

首先我们让 i i i 取遍 0 到正无穷,考虑差分。

思考 n − 1 n-1 n−1 变成 n n n,哪些 i i i 会发生变化。只有 n n n 的因数,所以差分出来其实就是 n n n 的因数个数。这个可以线性筛 O ( n ) O(n) O(n) 预处理。

然后再做个前缀和就还原成原数组了。

相关推荐
Luhui Dev5 天前
大角几何 3D 渲染 API 上线:让立体题图进入自动化生产流程
人工智能·数学·luhuidev
闻缺陷则喜何志丹5 天前
【计算几何】Clipper的偏移
数学·偏移·计算几何·裁剪·clipper
HIT_Weston7 天前
7、【数学】【基础】复数是什么:从解方程到旋转
数学·基础
铸人7 天前
再论勾股定理成立的条件-28
数学·几何学·复数·物理
HIT_Weston8 天前
5、【数学】【基础】归一化的几何意义:球面、超平面与信息去哪了
数学·基础
email4u10 天前
当 AI 开始解决数学难题
人工智能·数学
Tisfy12 天前
LeetCode 0836.矩形重叠:xy两方向分别看
数学·leetcode·题解·模拟
闻缺陷则喜何志丹12 天前
【计算几何】布尔运算交并补异或
数学·计算几何·布尔运算·奇偶填充·非零填充·正数填充·负数填充
lisw0514 天前
数学系学生如何入门计算基因组学?
数学·计算基因组学
闻缺陷则喜何志丹16 天前
【计算几何】闵可夫斯基差演示
数学·计算几何·autocad·闵可夫斯基差