cp-library

競技プログラミング用 C++ ライブラリ

View the Project on GitHub qandori/cp-library

:heavy_check_mark: 形式的冪級数の合成(軽量版)

fps/compose_light.hpp · GitHub で見る

64 KiBサイト · 軽量実装

この項目の軽量実装は light_fps_algorithms::compose です。以下の使用例・API一覧は共有ヘッダーの説明です。

#include "lib/fps/compose_light.hpp"

light_fps f{1, 2, 3}, g{0, 1, 1};
auto h = light_fps_algorithms::compose(f, g, 4); // {1, 2, 5, 6}

compose(f,g,deg = -1) は \(f(g(x))\bmod x^{\mathrm{deg}}\) の係数列を返します。deg は返す係数数で、省略時は f.size()、0 なら空列です。g は空列または定数項が 0 である必要があります。入力は変更しません。

軽量 FPS と同じ LightFormalPowerSeries<T> を使います。

deg は \(2^{21}\) 以下とします。法や係数型の条件は軽量 FPS と同じです。

出力係数数を \(n\) として、時間は \(O(n\log^2 n)\)、追加空間は \(O(n\log n)\) です。

依存ライブラリ

検証コード

コード

#ifndef CP_FPS_COMPOSE_LIGHT_HPP
#define CP_FPS_COMPOSE_LIGHT_HPP
#include "../components/fps_composition_light.hpp"
#endif
Back to top page