指數生成函式(EGF)

2022-05-25 11:24:15 字數 1995 閱讀 6934

熟知指數生成函式(以下簡稱為egf)定義為:

\[f(x)=\sum\limits_^\infty\dfracx^n

\]並且兩個egf相乘為 \(f(x)g(x)\) 是數列 \(\left\\dbinoma^kb^\right\}_^\infty\) 的egf

因為我們將 \(\text^x\) 再原點處進行泰勒展開得到了數列 \(\_^\infty\) 的無窮級數形式

所以如果乙個數列為 \(\_^\infty\) 那麼它egf的封閉形式為 \(\text^x\)

乙個egf \(f(x)=\sum\limits_^\infty\dfracx^n\) 同時也是數列 \(\left\\right\}_^\infty\) 的ogf

我們考慮乙個長度為 \(n\) 數列的排列數(數列中的數互不相同)

顯而易見,排列數是 \(n!\)

寫成egf的形式也就是

\[f(x)=\sum\limits_^\infty\dfracx_n=\dfrac

\]那麼我們再考慮乙個長度為 \(n\) 的數列的圓排列數

顯然對於每個排列,我們將其旋轉 \(n\) 次的到的圓排列相同

顯然,圓排列數是 \((n-1)!\)

寫成egf的形式:

\[\begin

g(x)&=\sum\limits_^\infty\dfracx_n

\\&=\sum\limits_^\infty\dfrac

\\&=\ln\left(\dfrac\right)

\end

\]是不是發現了顯然可以 \(\exp\) ?

\(\exp g(x)=f(x)\)

在學習群論的時候,我們知道每個置換 \(a\in s_n\) 或是乙個迴圈置換,或是若干個不相交的迴圈置換的乘積

此時我們把每個排列看成乙個置換

長度為 \(n\) 的排列數方案數即是把其分成 \(k\) 個集合,然後每個集合的圓排列的方案數的積

p4841 [集訓隊作業2013]城市規劃

熟知 \(n\) 個點的有標號無向圖的個數是 \(2^\binom\)

每個無向圖可以看作若干個集合構成,每個集合裡的元素同屬乙個連通圖

設 \(n\) 個點的有標號無向圖的egf是 \(f(x)\),\(n\) 個點的有標號無向連通圖的egf是 \(g(x)\)

此時我們很容易仿照上文得到 \(\exp g(x)=f(x)\),即 \(g(x)=\ln f(x)\)

直接多項式 \(\ln\) 即可

#include#include#include#include#include#define n 1000001

#define inf 1100000000

#define kafuu return

#define chino 0

#define fx(l,n) inline l n

#define set(l,n,ty,len) memset(l,n,sizeof(ty)*len)

#define cpy(f,t,ty,len) memcpy(t,f,sizeof(ty)*len)

#define r register int

#define c const

#define int long long

using namespace std;

c int mod=1004535809,pr=3;

int n,br[n],ppr[n],x=1,invp,invx,a[n],b[n],fc[n];

fx(int,gi)()

while(c>='0'&&c<='9') s=(s<<3)+(s<<1)+(c-'0'),c=getchar();

return s*f;

}fx(int,pow)(int a,int b=mod-2)

return ans;

}fx(void,ntt)(int *f,c short r,c int x)

signed main()

生成函式與指數生成函式

普通型生成函式gf 序列 的生成函式為 sum limits a ix i 常用gf的收斂形式 1.sum limits x i frac 序列 的生成函式 2.sum limits binomx i 1 x n 序列 的生成函式,就是二項式定理 3.sum limits binomx i frac...

POJ 3734 Blocks 指數型生成函式

題意 有紅球,藍球,綠球,黃球,其中紅球和綠球都只能選擇偶數個,求選擇 n 個球擺成一排有多少種方案數.我們構造關於這些球的指數型生成函式 f x sum frac x i 其中 a 表示選擇 i 個球的不同排列數.紅與綠 1 frac frac frac 黃與藍 1 frac frac e x 那...

POJ 3734 Blocks 指數型生成函式

題意 有紅球,藍球,綠球,黃球,其中紅球和綠球都只能選擇偶數個,求選擇 n 個球擺成一排有多少種方案數.我們構造關於這些球的指數型生成函式 f x sum frac x i 其中 a 表示選擇 i 個球的不同排列數.紅與綠 1 frac frac frac 黃與藍 1 frac frac e x 那...