母函式知識點

2022-01-31 21:31:53 字數 1983 閱讀 5159

學了好長時間母函式了,一直沒時間進行總結(忙於一些瑣事),今天正好放一天假,趁空閒,對母函式做個總結,以便以後更加方便學習。

進入主題:

我對母函式的理解是,母函式,顧名思義,就是母親,那就說明,在這個函式裡面還有兒子,即子函式。說白了,就是子函式可以看作是母函式的乙個子集。

而如何把這些子函式用乙個母函式來表示呢?即所謂的通項公式,我個人覺的這是問題的癥結之處,解決了這一癥結,那麼,後面的問題就容易多了。

下面我來談談怎麼來求解母函式:

看過許多有關母函式的資料,介紹母函式的思想基本一樣,我這裡就通俗理解為:母函式就是乙個多項式前面的係數的乙個整體的集合,而子函式就是這個多項式每一項前面的係數。

那麼,在碰到問題時,我們如何區分它是不是要用母函式來求解?如果用到母函式,那麼需要什麼樣的母函式來求解?母函式是用來解決哪種型別的問題? 

我想這是包括我在內的很多初次接觸母函式的朋友所關心的問題。

下面我來逐一做出解答:

什麼樣的題型適合用母函式

母函式有普通型的,也有指數型的。而我們通常在做題當中碰到的大多是普通型的,指數型的較少,主要用來求解多重排列的題型(我至今未涉及到有關指數型的母函式,希望讀者提議,若以後碰到,我會加以補充),接下來,我重點說一下普通型母函式。

普通型的可以用在求解組合以及整數拆分的題型中。

例如,對於有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件物品的所有方案數.(可以參考hduacm課件)

整數拆分

1 #include"iostream"

2 usingnamespacestd;

3 #definen 130

4 inta[n+1],b[n+1];

5 intmain()

6 12 for(i=2;i<=n;i++)

13 19 for(j=0;j<=n;j++)

20 23 }

24 cout<

25 }

26 return0;

27 28 }

hdu2028

1 #include"iostream"

2 usingnamespacestd;

3 #definen 50

4 #definem 26

5 inta[m+1],b[m+1],c1[n+1],c2[n+1];

6 intmain()

7 22 memset(c1,0,sizeof(c1));

23 memset(c2,0,sizeof(c2));

24 c1[0]=1;

25 26 for(i=0;i<26;i++)

27 35 for(j=0;j<=50;j++)

36 37

38 }

39 for(i=1;i<=50;i++)

40 sum+=c1[i];

41 cout<

42 43 }

44 return0;

45 }

2,需要什麼樣的母函式來求解

可以說不同的問題,有不同的解法,對於一道可以用母函式來求解的題而言,可能還有比母函式更簡潔的方法,因人而異。不一定遇到組合型別的題型就要用組合函式,在這裡我只是要通過一些例子來說明如果我們需要用母函式來求解,那麼,該如何選定合適的母函式呢?

母函式的框架基本一樣,

如hdu2082,

for(i=0;i<26;i++)

}如hdu1028,

for(i=2;i<=n;i++)

for(j=0;j<=n;j++)

}注:根據題意,仔細分析,建立關係。

母函式知識點,感覺講的還可以

母函式 generating function 詳解 tanky woo 在數學中,某個序列的母函式 generating function,又稱生成函式 是一種形式冪級數,其每一項的係數可以提供關於這個序列的資訊。使用母函式解決問題的方法稱為母函式方法。母函式可分為很多種,包括普通母函式 指數母函...

函式知識點

1.函式 函式就是一種封裝 2.定義函式 function 函式名 3.函式不會自動執行,需要被呼叫才可以執行 函式名 4.函式命名規則 與變數命名規則一致 1 以字母 開頭 2 可以包含數字 字母 3 區分大小寫 4 不能使用關鍵字和保留字 駝峰命名法 若名稱由多個單詞組成,則從第二個單詞開始,首...

函式知識點

今日主要內容 函式 一,函式的概念 函式就是對一些重複使用的功能的封閉 二,函式的組成部分 1,函式名 是程式使用函式的依據 2,函式體 是實現功能的具體 塊 3,函式返回值 功能實現的結果 4,函式引數 實現功能的條件 三,函式的定義 函式需要先定義,再呼叫 def 函式申明的關鍵字 例 def ...