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

StirlingBell

クラス · 第2種スターリング数・ベル数

template <internal::modint mint = modint998>
struct StirlingBell;

概要

第2種スターリング数・ベル数

二項係数と累乗を使い、1要素または部分和をオンデマンドに求める。

テンプレートパラメータ

名前 説明
mint 法が素数の modint 型

構築・破棄

名前 説明 計算量
(constructor) 空の計算テーブルを構築する $O(1)$

メンバ関数

名前 説明 計算量
stirling 第2種スターリング数 $S(n,k)$ を返す $O(k\log n)$
bell 第2種スターリング数の部分和 $\sum_{j=0}^{k}S(n,j)$ を返す $O(k\log n)$。未構築部分の前計算 $O(k)$ を含む

メンバの詳細

stirling

mint stirling(int n, int k);

第2種スターリング数 $S(n,k)$ を返す

bell

mint bell(int n, int k);

第2種スターリング数の部分和 $\sum_{j=0}^{k}S(n,j)$ を返す

$k=n$ のとき通常のベル数 $B_n$ になる。