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

mobius_sum

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

template <class T>
T mobius_sum(long long n);

概要

メルテンス関数 $\sum_{i=1}^{n} \mu(i)$ を $O(n^{2/3})$ で計算する

$\mu * 1 = \varepsilon$(単位元)より $H(m) = 1$、$g = 1$ で杜教筛を回す。

計算量

関連項目