线性预处理整除分块

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

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

相关推荐
_wyt0012 小时前
洛谷P17461 [GESP202609 八级] 生成树计数 题解
c++·数学·树·gesp·八级·仙人掌
熊猫_豆豆1 天前
载人飞行器绕飞—合拢相对动力学建模报告
数学·物理·宇宙飞船·对接交会
Luhui Dev2 天前
给教研 Agent 接上大角几何生图 API:从一道题到可编辑题图
人工智能·数学·agent·luhuidev
MoRanzhi12032 天前
122.四平方和(暴力枚举)
python·数学·算法·蓝桥杯·完全平方数·暴力枚举·四平方和定理
闻缺陷则喜何志丹2 天前
【计算几何 排样】libnest2d的放置器
数学·计算几何·libnest2d·放置器·npf·最左最下
hans7748829683 天前
仅根据BMI反推身高和体重?还真能做到!只需要简单的数论知识~
python·数学
Ro Jace3 天前
数学领域全景框架图
数学
Tisfy3 天前
LeetCode 3723.数位平方和的最大值:构造
数学·算法·leetcode·字符串·题解
Tisfy4 天前
LeetCode 2333.最小差值平方和:排序 + 数学计算(不用二分)
数学·算法·leetcode·题解·贪心·排序
fxss5 天前
宝宝学识屋上新|用喜欢的小动物,玩懂数数、加法和减法
数学