母函式是用於解決組合問題計數的一種方法。
在了解它之前我們先看看熟悉的楊輝三角。
楊輝三角的第n行(注意是從0開始標號的)的數字就是(1
+x)n
的展開式從低項到高項的各項係數,也可以表示為組合數的形式ci
n 。如果將兩者聯絡起來我們會發現,(1
+x) 可以看成對於一件取捨,1=
x0就是不取,x就是取。這樣在(1
+x)n
的展開式中xi
項的係數就是從n件物品選取i件的方案數。
給定數列a0
,a1,
a2…a
n ,建構函式g(
x)=a
0f0(
x)+a
1f1(
x)+a
2f2(
x)…a
nfn(
x),其中g(
x)就是該序列的母函式,f0
(x),
f1(x
),f2
(x)…
fn(x
) 為標誌函式。
母函式主要有兩種形式:普通型母函式和指數型母函式。
先看乙個例題:hdu 1085
普通型母函式的標誌函式一般為x0
,x1,
x2…x
n 因為每個硬幣有個數限制,但是也不難構造出g(
x)=(
1+x+
x2+x
3+…+
xnum
1)(1
+x2+
x4+…
+x2∗
num2
)(1+
x5+x
10+…+
x5∗n
um5)
。將多項式展開後,xi
項對應的係數就是組成面值為i的方案數。
再看乙個例題:hdu 1521
指數型母函式的標誌函式一般為x0
0!,x
11!,
x22!
...x
nn! ,對於xi
i!表示在乙個方案中某個元素出現了
i 次,而不同位置的該種元素本質不同,所以在記方案數時只算作一種,所以最後結果應處以i!
。 對於這道題就不難構造出母函式為g(
x)=(
10!+
x1!+
x22!
+...
+xa1
a1!)
(10!
+x1!
+x22
!+..
.+xa
2a2!
)(10
!+x1
!+x2
2!+.
..+x
anan
!)
母函式總結
生成函式即母函式,是 組合數學 中尤其是計數方面的乙個重要理論和工具。生成函式 有普通型生成函式和指數型生成函式兩種,其中普通型用的比較多。區別 形式上說,普通型 生成函式 用於解決 多重集的組合問題,而指數型母函式用於解決多重集的排列問題。母函式還可以解決遞迴數列的通項問題 例如使用母函式解決斐波...
母函式總結
先來看乙個多項式 可以看出,x 2的係數是由a1,a2,a3,an,兩兩組合的結果,x 3的係數是由它們三三的組合的結果,依次類推。若令a1 a2 an 1,在 8 1 式中a1a2 a1a3 an 1an項係數中每乙個組合有1個貢獻,其他各項以此類推。故有 對於序列a0,a1,a2,構造一函式 此...
母函式及其模板例題總結
在數學中,某個序列的母函式 generating function,又稱生成函式 是一種形式冪級數,其每一項的係數可以提供關於這個序列的資訊。使用母函式解決問題的方法稱為母函式方法。母函式可分為很多種,包括普通母函式 指數母函式 l級數 貝爾級數和狄利克雷級數。對每個序列都可以寫出以上每個型別的乙個...