1、母函數
母函數,顧名思義,就是母親,那就說明,在這個函數裡面還有兒子,即子函數。說白了,就是子函數可以看作是母函數的一個子集。
而如何把這些子函數用一個母函數來表示呢?即所謂的通項公式。
通俗理解為:母函數就是一個多項式前面的系數的一個整體的集合,而子函數就是這個多項式每一項前面的系數。
母函數有普通型的,也有指數型的。而我們通常在做題當中碰到的大多是普通型的,指數型的較少,主要用來求解多重排列的題型
普通型的可以用在求解組合以及整數拆分的題型中。
例如,對於有n種物品,如果第i個物品有ki個,我們可以列式n個項相乘 (x^0+x^1+...x^k1)*(x^0+x^1+...x^k2)*...*(x^0+x^1+...x^kn) ,每一項表示對於第i件物品,可以有(x^0+x^1+...x^ki)中取法,【注意系數都為1,因為同種物品去i件,它的取法是1】多項相乘:因為 取m件物品這件事實要分為對n種物品各取分別取1次【0~ki個】, 是組合計數的乘法原理, x^m 的系數是組合成m件物品的所有方案數。
母函數的框架基本一樣,
如hdu1028,
for(i=2;i<=n;i++)
{
for(j=0;j<=n;j++)
for(k=0;k+j<=n;k+=i)//關鍵
b[k+j]+=a[j];
for(j=0;j<=n;j++)
{
a[j]=b[j];
b[j]=0;
}
}
注:根據題意,仔細分析,建立關系。