线性预处理整除分块

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

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

相关推荐
闻缺陷则喜何志丹9 天前
【计算几何】clipper库之扫描线、活动边、输出区域
数学·计算几何·扫描线·clipper·活动边·输出区域
铸人10 天前
A Spigot Algorithm for the Digits of Pi (转)
数学·数论
Luhui Dev10 天前
几何画板工程持久化与版本管理方案:变更监听、自动保存与版本恢复
人工智能·数学·ai·agent·luhuidev
Samson Bruce12 天前
【群论基础】
数学
铸人14 天前
圆周率和自然对数底 - 5
数学·复数
xiaoniu14285715 天前
命题的映射化
数学·1024程序员节·高中数学·文化课
DogDaoDao16 天前
声音、图像、视频是如何形成的:从物理量到比特流的完整链条
图像处理·数学·音视频·音频·数字信号处理·视频处理·音视频编解码
吞下星星的少年·-·17 天前
Div.2 CF edu195A题(数学,贪心)
数学·算法·贪心
_wyt00122 天前
洛谷P17461 [GESP202609 八级] 生成树计数 题解
c++·数学·树·gesp·八级·仙人掌