先來看乙個多項式:
可以看出,x^2的係數是由a1,a2,a3,......an,兩兩組合的結果,x^3的係數是由它們三三的組合的結果,依次類推。
若令a1=a2= …=an=1,在(8-1)式中a1a2+a1a3+...+an-1an項係數中每乙個組合有1個貢獻,其他各項以此類推。故有:
對於序列a0,a1,a2,…構造一函式:
此函式就稱為序列a1,a2,a3,.....的母函式。
其中x冪的係數對應組合成x次冪的方案數。
下面以hdu2082給出母函式的模板,
#include#includeint main()
break;
} c1[0]=1;
for(i=i+1;i<=26;i++) //----------------1
}for(j=0;j<=50;j++) //-----------4
} sum=0;
for(i=1;i<=50;i++)
sum+=c1[i];
printf("%d\n",sum);
} return 0;
}
其中:
for(i=1;i<=26;i++)
break;
}
這裡相當於對母函式中第乙個括號,對其對應的x次冪初始化;
下面的三重迴圈中,
迴圈2;j從零到50,這裡j就相當於前面i表示式相乘的結果中第j個變數;
迴圈3:k,k表示的是第j個指數,所以k每次增i(因為第i個表示式的增量是i)。
迴圈4 、把c2的值賦給c1,而把c2初始化為0,因為c2每次是從乙個表示式中開始的
母函式總結
生成函式即母函式,是 組合數學 中尤其是計數方面的乙個重要理論和工具。生成函式 有普通型生成函式和指數型生成函式兩種,其中普通型用的比較多。區別 形式上說,普通型 生成函式 用於解決 多重集的組合問題,而指數型母函式用於解決多重集的排列問題。母函式還可以解決遞迴數列的通項問題 例如使用母函式解決斐波...
母函式總結
母函式是用於解決組合問題計數的一種方法。在了解它之前我們先看看熟悉的楊輝三角。楊輝三角的第n行 注意是從0開始標號的 的數字就是 1 x n 的展開式從低項到高項的各項係數,也可以表示為組合數的形式ci n 如果將兩者聯絡起來我們會發現,1 x 可以看成對於一件取捨,1 x0就是不取,x就是取。這樣...
母函式及其模板例題總結
在數學中,某個序列的母函式 generating function,又稱生成函式 是一種形式冪級數,其每一項的係數可以提供關於這個序列的資訊。使用母函式解決問題的方法稱為母函式方法。母函式可分為很多種,包括普通母函式 指數母函式 l級數 貝爾級數和狄利克雷級數。對每個序列都可以寫出以上每個型別的乙個...