algo — C++23 日本語リファレンス GitHub

divisor_sum_table

関数 · 乗法的関数の累積和を劣線形で計算する(杜教筛 / Dirichlet 双曲線法)

std::vector<std::int64_t> divisor_sum_table(int n);

概要

約数の総和 $\sigma_1(1), \ldots, \sigma_1(n)$

$\sigma_1(p^k) = 1 + p + \cdots + p^k$。

計算量

関連項目