线性预处理整除分块

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

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

相关推荐
亦枫Leonlew6 小时前
微积分复习笔记 Calculus Volume 1 - 4.7 Applied Optimization Problems
笔记·数学·微积分·1024程序员节
飞滕人生TYF1 天前
3^100的位数判断
数学
XuYueming1 天前
[NOIP2022] 比赛 随机排列 部分分
数学·线段树·题解·单调栈·洛谷·扫描线·二维数点·部分分·概率 & 期望
闻缺陷则喜何志丹3 天前
【C++ 曼哈顿距离 数学】1131. 绝对值表达式的最大值|2059
c++·数学·算法·力扣·最大值·哈曼顿距离·绝对值
kuailedetongnian4 天前
组合数学
c++·数学·oi
莫石5 天前
搓绳子(直)
前端·数学·three.js
亦枫Leonlew6 天前
微积分复习笔记 Calculus Volume 1 - 4.4 The Mean Value Theorem
笔记·数学·微积分·1024程序员节
亦枫Leonlew6 天前
微积分复习笔记 Calculus Volume 1 - 4.2 Linear Approximations and Differentials
笔记·数学·微积分·1024程序员节
何曾参静谧6 天前
「Math」高等数学知识点大纲(占位待处理)
数学
亦枫Leonlew10 天前
三维测量与建模笔记 - 2.1 坐标转换基础
笔记·数学·微积分