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

convolution_square

関数 · NTT・畳み込み (convolution)

template <internal::static_modint_c mint>
std::vector<mint> convolution_square(const std::vector<mint> &a);

概要

自乗畳み込み (a と a の畳み込み, modint 版)

a を自身と畳み込む。順変換を 1 回に削減できるため convolution(a, a) より速い。

テンプレートパラメータ

名前 説明
mint NTT-friendly な static modint

パラメータ

名前 説明
a 入力多項式の係数列

戻り値

std::vector<mint> a と a の畳み込み (長さ 2 * a.size() - 1)

計算量

関連項目

参照