线性预处理整除分块

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

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

相关推荐
汉克老师2 天前
GESP2025年6月认证C++五级( 第一部分选择题(1-8))
c++·链表·线性筛·最大公约数·gesp5级·gesp五级·埃氏筛
aWty_4 天前
实分析入门(2)-- 减法
数学·实变函数
深念Y5 天前
哈希与向量:计算机理解现实的两座桥梁
人工智能·数学·机器学习·向量·hash·哈希·空间
闻缺陷则喜何志丹5 天前
【高等数学 第九章】多元函数微分法及其应用
数学·高等数学·多元函数·微分
切糕师学AI6 天前
布隆过滤器(Bloom Filter)技术详解
数学·算法
databook7 天前
如何让多个动画“齐步走”?
python·数学·动效
深念Y7 天前
王者荣耀与英雄联盟数值设计对比:穿透、乘算与加算、增伤乘算更厉害,减伤加算更厉害
数学·算法·游戏·建模·游戏策划·moba·数值
Robot_Nav8 天前
数学之美——Reeds-Shepp 曲线与 Dubins 曲线
数学·曲线·dubins·reeds-shepps