线性预处理整除分块

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

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

相关推荐
Luhui Dev5 天前
Google DeepMind Aletheia:完全自主研究的数学 Agent 解读
人工智能·数学
王老师青少年编程5 天前
csp信奥赛C++之反素数
数据结构·c++·数学·算法·csp·信奥赛·反素数
闻缺陷则喜何志丹6 天前
P8153 「PMOI-5」送分题/Yet Another Easy Strings Merging|普及+
c++·数学·算法·洛谷
王老师青少年编程6 天前
csp信奥赛C++之约数研究
数据结构·c++·数学·算法·csp·信奥赛·约数研究
Wishell20156 天前
数学中的卷积
数学
宇木灵7 天前
考研数学-高中数学回顾函数的微分day8(完结)
笔记·学习·考研·数学·函数·导数·微分
宇木灵7 天前
考研数学-高中数学-反三角函数与特殊函数day3
笔记·考研·数学·函数
软件资深者8 天前
2026 版初中几何辅助线教材 PDF|打印即提分,中考几何 “分水岭” 一键通关
学习·数学·pdf·教学·初中数学
闻缺陷则喜何志丹9 天前
【数论 等差数列】P9183 [USACO23OPEN] FEB B|普及+
c++·数学·数论·等差数列