程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 140804暑期培訓.txt

140804暑期培訓.txt

編輯:C++入門知識

140804暑期培訓.txt


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;
}
}

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved