母函式 學習筆記

2021-09-26 23:22:17 字數 1833 閱讀 5308

組合數學——生成函式

參考:1. 

2. 個人理解:

用多項式乘法表示某種組合的可能的次數。

模版1:

#include 

using namespace std;

// author: tanky woo

// www.wutianqi.com

const int _max = 10001;

// c1是儲存各項質量砝碼可以組合的數目

// c2是中間量,儲存沒一次的情況

int c1[_max], c2[_max];

int main()

for(i=2; i<=nnum; ++i) // ----- ②

for(j=0; j<=nnum; ++j) // ---- ⑤

}cout << c1[nnum] << endl;

}return 0;}/*

*/

模版2:

#includetypedef long long ll;

const int n = 100 + 5;//假如題目只問到100為止

const int max = 3;//題目只有1,2,3這3種郵票

ll c1[n], c2[n];//c2是臨時合併的多項式,c1是最終合併的多項式

int n;

void init()

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

}} int main()

}

題目1:

hdu1028 ignatius and the princess iii

#include #define maxn 125

using namespace std;

typedef long long ll;

ll c1[maxn], c2[maxn];

void init()

for(int i = 2; i <= maxn; i++)

}for(int j = 0; j <= maxn; j++)

}}int main()

return 0;

}

題目2:

hdu 1398 square coins

ac**:

#include #define maxn 300 + 50

using namespace std;

typedef long long ll;

ll c1[maxn], c2[maxn];

void init()

}for(int j = 0; j < maxn; j++)

}}int main()

return 0;

}

題目3:

hdu 1085 holding bin-laden captive!

ac**:

#include #include #define maxn 8000 + 50

using namespace std;

typedef long long ll;

ll c1[maxn], c2[maxn];

int cost[3] = ;

int num[3];

void init(int a, int b, int c)

}for(int j = 0; j < maxn; j++)

}}int main() }}

}return 0;

}

生成函式 母函式 學習筆記

普通型生成函式 首先我們有乙個序列 a 我們嘗試用函式 f x sum na ix i 來表示 a 這就得到了母函式 如果當 n rightarrow infty 時,f x sum infty a ix i 這就可以表示無限長的序列了 所以這東西有個 用啊?別忙,繼續往下看.我們可以由定義得到,序...

組合數學 母函式

在數學中,某個序列的母函式 generating function,又稱生成函式 是一種形式冪級數,其每一項的係數可以提供關於這個序列的資訊。使用母函式解決問題的方法稱為母函式方法。母函式可分為很多種,包括普通母函式 指數母函式 l級數 貝爾級數和狄利克雷級數。對每個序列都可以寫出以上每個型別的乙個...

母函式筆記

母函式wiki 以下大量內容照抄自wiki 母函式可分為很多種,包括普通母函式 指數母函式 l級數 貝爾級數和狄利克雷級數。對每個序列都可以寫出以上每個型別的乙個母函式。構造母函式的目的一般是為了解決某個特定的問題,因此選用何種母函式視乎序列本身的特性和問題的型別。普通母函式就是最常見的母函式。一般...