對於母函式剛開始的時候筆者也覺得這實在是太難啊,但是在我靜下心來的時候開始看的時候才發現原來是這麼簡單啊;
對於母函式一般可分為普通型母函式和指數型母函式這兩種型別;
普通型母函式形式: f(x) = a0 + a1x + a2x^2 + ....+ anx^n;
指數型母函式形式: f(x) = a0 + a1(x)/1! + a2(x^2)/2! + ....+an(x^n)/n!;
母函式的定義:
在數學中,某個序列的母函式是一種形式冪級數,其每一項的係數可以提供關於這個序列的資訊;
也就是說母函式是針對某個序列的,它的外在表現形式是一種形式冪級數,比如說有這樣乙個序列a0,a1,....,an,構造乙個函式
f(x) = a0+a1x+a2x^2+.....+anx^n;
則f(x)是序列a0,a1,a2,......,an的母函式。比如說最常見的(1+x)^n,它是序列c(n,1),c(n,2),c(n,3),.....c(n,n)的母函式;
普通母函式解決的問題:
1.口袋中有白球2個,紅球3個,黃球1個,從袋中摸出3個球有幾種取法?
和上面描述的例子類似,我們可以用次數代表球的個數,多項式的每一項前面的係數代表取法的種樹。
可以很容易地寫出下面這個式子:
(1+x+x2
)(1+x+x2
+x3)(1+x)
(1+x+x2
)表示有白球2個,1表示白球不取,x代表取1個白球,x2代表取2個白球,即用x的次數表示取球的個數,後面的也是類似。那麼這個多項式的乘積就把所有的情況都表示出來了,對於最終乘積的每一項an
xn,表示取n個球有an
種取法。
2.有若干個1克,2克,5克的砝碼,要稱出20克的重量,有多少種稱法?
這裡不限制砝碼的個數,無所謂,照樣寫出母函式:
(1+x+x2
+x3+......xk
+....)(1+x2
+x4+x6
......+x2n
+......)(1+x5
+x10
+......x5m
+......)
因為要稱出20克,所以只需要找找到結果中次數為20 的那一項就可以得到結果。
3.同樣對於正數劃分也可以解決,比如有整數20,劃分成1,2,5,有多少種劃分方法?
解法和2的類似。
還有一類題目和這類似,有n個球放到m個盒子中,有多少種不同的放法?
(1+x+x2+x3+...xk+...)(1+x+x2+x3+...xk+...)(1+x+x2+x3+...xk+...)總共有m項,然後找出乘積中次數為n的那一項係數。
指數型母函式:
1.口袋中有白球2個,紅球3個,黃球1個,任取3個作為乙個排列,總共有多少種排列?
類似地用指數型母函式解決
用(1+x/1!+x2
/2!)表示取白球0個,1個或者2個
那麼(1+x/1!+x2
/2!)(1+x/1!+x2
/2!+x3
/3!)(1+x/1!)來表示所有的排列結果。
=1+3x+4x2
+19x3
/6+19x4
/12+6x5
/12+x6
/12=1+3*(x/1!)+8*(x2
/2!)+19*(x3
/3!)+38*(x4
/4!)+60*(x5
/5!)+60*(x6
/6!)
找到次數為3的那一項,係數為19,那麼總共有19種排列。
2.用1,2,3,4能夠組成多少個5位數,要求1出現2次或者3次,2出現0次或者1次,3沒有限制,4只出現偶數次。
(x2/2!+x3
/3!)(1+x)(1+x/1!+x2
/2!+x3
/3!+.....xk
/k!+....)(1+x2
/2!+x4
/4!+......+x2n
/(2n)!+......)
每個式子的含義就不多解釋了,讀者應該能看懂它的含義。最終的結果就是x5
/5!這一項的係數。
用**去實現母函式的計算過程很簡單,它是模擬我們人工計算多項式乘積的過程,比如有多項式h1*h2*h3......
我們先計算h1和h2的乘積,得到結果h',再用h'和h3相乘......依次類推下去,直到得到最終的結果。
演算法學習 母函式
母函式又稱生成函式。定義是給出序列 a0,a1,a2,ak,那麼函式g x a0 a1 x a2 x2 ak xk稱為序列a0,a1,a2,ak,的母函式 即生成函式 特別的當序列為 1,1,1,1,1,這個生成函式為 g x x x2 x3 xn 1 xn 1 x 當 11 1 x n 1 c n...
母函式 學習筆記
組合數學 生成函式 參考 1.2.個人理解 用多項式乘法表示某種組合的可能的次數。模版1 include using namespace std author tanky woo www.wutianqi.com const int max 10001 c1是儲存各項質量砝碼可以組合的數目 c2是中...
生成函式 母函式 學習筆記
普通型生成函式 首先我們有乙個序列 a 我們嘗試用函式 f x sum na ix i 來表示 a 這就得到了母函式 如果當 n rightarrow infty 時,f x sum infty a ix i 這就可以表示無限長的序列了 所以這東西有個 用啊?別忙,繼續往下看.我們可以由定義得到,序...