div_mod
関数 · 形式的冪級数 (FPS)
template <internal::static_modint_c mint>
std::pair<std::vector<mint>, std::vector<mint>> div_mod(std::vector<mint> f, std::vector<mint> g);
概要
多項式の除算 (商と剰余)
$f = qg + r$ を満たす商 $q$ と剰余 $r$($\deg r < \deg g$)を求める。 反転して逆元を掛ける標準的な手法。f, g の末尾 $0$ は内部で除去する。
テンプレートパラメータ
| 名前 | 説明 |
|---|---|
mint |
static modint |
パラメータ
| 名前 | 説明 |
|---|---|
f |
被除多項式の係数列 |
g |
除多項式の係数列($0$ 多項式でないこと) |
戻り値
商 $q$ と剰余 $r$ の std::pair(どちらも末尾 $0$ を含まない)
計算量
- $n = \deg f$ として $O(n \log n)$
関連項目
plus— 形式的冪級数の加算inv— 逆元 $1 / h \pmod{x^{deg}}$log— 対数 $\log h \pmod{x^{deg}}$exp— 指数 $\exp h \pmod{x^{deg}}$pow— 冪乗 $h^m \pmod{x^{deg}}$sqrt— 平方根 $\sqrt h \pmod{x^{deg}}$composition— 合成 (composition) $f(g(x)) \pmod{x^{deg}}$compositional_inverse— 合成逆 (compositional inverse) $g \pmod{x^{deg}}$div— 多項式の商 f / gmod— 多項式の剰余 f mod gmultipoint_evaluation— 多点評価polynomial_interpolation— 多項式補間 (ラグランジュ補間)taylor_shift— Taylor shift (係数の平行移動)shift_of_sampling_points— 標本点のシフト (shift of sampling points)inv_of_polynomials— 多項式の逆元 (modular inverse of polynomials)