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$ で杜教筛を回す。
計算量
- $O(n^{2/3})$
関連項目
multiplicative_table— 乗法的関数の値を線形篩で一括計算するeuler_phi_table— オイラーのトーシェント関数 $\varphi(1), \ldots, \varphi(n)$mobius_table— メビウス関数 $\mu(1), \ldots, \mu(n)$divisor_count_table— 約数の個数 $\sigma_0(1), \ldots, \sigma_0(n)$divisor_sum_table— 約数の総和 $\sigma_1(1), \ldots, \sigma_1(n)$MultiplicativeSum— 乗法的関数の累積和を劣線形で計算する(杜教筛 / Dirichlet 双曲線法)totient_sum— $\sum_{i=1}^{n} \varphi(i)$ を $O(n^{2/3})$ で計算する