數學 普通型生成函式

2022-05-11 05:49:14 字數 1234 閱讀 1274

序列 \(a=[a_0,a_1,a_2,a_3,a_4,...]\) 的普通型生成函式,定義為形式冪級數: \(f(x)=\sum\limits_^a_ix^i\) 。

若序列 \(a\) 擁有通項公式,那麼 \(a_i\) 就等於通項公式。

再設 \(g(x)=\sum\limits_^b_ix^i\) ,有

\(f(x)\pm g(x)=\sum\limits_^(a_i\pm b_i)x^i\)

\(f(x)g(x)=\sum\limits_^x^i\sum\limits_^a_jb_\)

加減法是對應係數加減,乘法理所當然是卷積,除法要用多項式求逆。

常數序列 \([1,1,1,1,1...]\) 的生成函式,即 \(a_i=1\) 。

發現可以乘以乙個 \(x\) ,再加上乙個 \(1\) ,使得整個序列往右移動乙個位置 \(xf(x)+1=f(x)\) ,解得 \(f(x)=\frac\) 。

等比數列的序列 \([1,p,p^2,p^3,p^4,...]\) 的生成函式 \(f(x)=\sum\limits_^p^ix^i\) ,即 \(a_i=p^i\) 。

發現可以乘以乙個 \(px\) ,再加上乙個 \(1\) ,使得整個序列往右移動乙個位置 \(pxf(x)+1=f(x)\) ,解得 \(f(x)=\frac\) ,這個是等比數列的封閉形式。

練習

這個看起來就是等比數列去掉了第0項,那麼故技重施乘以乙個 \(x\) ,再加上乙個 \(x\) ,使得整個序列往右移動乙個位置 \(xf(x)+x=f(x)\) ,解得 \(f(x)=\frac\)

右移 \(m\) 項(乘以 \(x^m\) ),再補上缺少的開頭(加上 \(x^r\) ),使得整個序列往右移動兩個位置 \(x^mf(x)+x^r=f(x)\) ,解得 \(f(x)=\frac\) 。

特別的,當m=2,r=0時,為偶數項:\(f(x)=\frac\),當m=2,r=1時,為奇數項 \(f(x)=\frac\) 。

這種係數是某個和 \(i\) 有關的,可能會和求導有關係。 \(f(x)=\sum\limits_^(i+1)x^i\) ,看起來是多項式 \(\sum\limits_^x^=\frac\) 的導數,故解得 \(f(x)=(\frac)'= \frac\) 。

這個序列先減去乙個 \(1\) ,再除以乙個 \(x\) ,使得整個序列往左移動乙個位置,變成上面的結果,即 \(\frac=\frac\) ,解得 \(f(x)=\frac+1\)

詳見具體數學p281。

普通型母函式模板理解

今天學習了一下母函式的知識,感覺它像是專門做一類題用的。推薦乙個比較好的入門的母函式部落格 我寫這篇文章的目的,就是為了再次總結一下他寫的那個模板,畢竟看了很久才懂的。這裡我以 hdu 1028 這道題為例 這道題目的大致意思是 給你乙個正整數n,然後要你求有多少種可以加到n的方式。include ...

普通生成函式學習筆記 做題記錄

已知乙個序列 a 可以有限項也可以無限項,定義其生成函式 f x 為。f x sum a ix i 舉個例子。序列 a left langle 1,2,3 right rangle 的生成函式是 f x 1 2x 3x 2 序列 a left langle 1,2,3.right rangle 的生...

Note 普通生成函式 OGF

對於乙個序列 a a cdots 我們稱 g x sum a x 為序列 a 的 mathbf 即普通生成函式 texttt 同時因為我們不關心 x 的取值,因此 sum a x 又稱作以 x 為自由元的形式冪級數。摘自 自為風月馬前卒 舉個例子,序列 left right left right c...