线性预处理整除分块

有时候要求前 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) 预处理。

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

相关推荐
jz_ddk5 小时前
[信号处理] 数学与工程之美:相邻差分共轭乘积
数学·算法·信号处理·差分·共轭
anew___1 天前
历史性突破!两位中国数学家同摘“数学界诺奖”,改写百年难题
数学·菲尔兹奖
Tisfy1 天前
LeetCode 3536.两个数字的最大乘积:O(1)空间维护max2
数学·算法·leetcode·题解
闻缺陷则喜何志丹3 天前
【计算几何 第四章】线性规划:铸模制造
数学·计算几何·线性规划·铸造
大卫小东(Sheldon)4 天前
斯梅尔问题(Smale's Problems)清单
数学·ai
Tisfy8 天前
LeetCode 1979.找出数组的最大公约数:模拟(附手动gcd)
java·数学·算法·leetcode·题解·最大公约数
Luhui Dev10 天前
用 AI 生成一道几何题配图:三角形四心作图案例
人工智能·数学·agent·luhuidev
Tisfy11 天前
LeetCode 3658.奇数和与偶数和的最大公约数:数论 / 数学O(1)
数学·算法·leetcode·数论·题解
Luhui Dev13 天前
教育 SaaS 产品如何低成本集成 AI 几何图形能力?开发者选型实录
人工智能·数学·agent·luhuidev
金銀銅鐵16 天前
[Python] 借助图形化界面探索模n运算的规律
python·数学