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

compositional_inverse

関数 · 形式的冪級数 (FPS)

// (1)
template <internal::static_modint_c mint>
std::vector<mint> compositional_inverse(const std::vector<mint> &f, int deg);

// (2)
template <internal::static_modint_c mint>
std::vector<mint> compositional_inverse(const std::vector<mint> &f);

概要

(1) 合成逆 (compositional inverse) $g \pmod{x^{deg}}$

$f(g(x)) = g(f(x)) = x \pmod{x^{deg}}$ を満たす $g$ を求める。f[0] == 0 かつ f[1] != 0 が前提。 Kinoshita-Suzuki の power projection (pow_enumerate) で $[x^n] f(x)^k$ を列挙し、 Lagrange-Bürmann 反転 $g = (n^{-1} \log(\mathrm{rev}(h)/h_0))^{-1}$ の $\exp$ で復元する ($h_k = n [x^k] (\text{列挙結果}) / k$)。

(2) 合成逆 (compositional inverse) g (deg は f.size())

関連項目

参照