在此不深究母函數在數學中的具體原理,只知道母函數在解決問題時候的使用情況和代碼實現即可。
母函數:就是把一個已知的序列和x的多項式合并起來,新產生的多項式就叫原來序列的母函數
普通母函數:
對于序列:a0,a1,a2,a3……an,母函數為:
f(x)=a0*x^0+a1*x^1+a2*x^2+a3*x^3……an^n
即:
序列{0,1,2,3,4,5,……,n}的母函數為:
f(x)=0*x^0+1*x^1+2*x^2+3*x^3+4*x^4+5*x^5+……+n*x^n?????????
因為:0*x^0=1,那么可以寫成:
f(x)=1+1*x^1+2*x^2+3*x^3+4*x^4+5*x^5+……+n*x^n????????? ——x是無意義的數
序列{0,1,1,1,1,0,0,0,0}的母函數為:
f(x)=x^1+x^2+x^3+x^4
序列{0,1,4,8,6,9,0}的母函數為:
f(x)=1*x^1+4*x^2+8*x^3+6*x^4+9*x^5
對于母函數的使用問題,在計算以下問題可以用到:
假如x的冪次數表示幾克的砝碼,那么
1克的砝碼表示為1+x^1
2克的砝碼表示為1+x^2
3克的砝碼表示為1+x^3
4克的砝碼表示為1+x^4
每個砝碼都可以選擇取或不取,所以這里的1可以認為1*x^0,表示不取這顆砝碼。
那么把這些乘起來
(1+x^1)(1+x^2)(1+x^3)(1+x^4)
=1+(x^1)+(x^2)+2(x^3)+2(x^4)+2(x^5)+2(x^6)+2(x^7)+(x^8)+(x^9)+(x^10)
根據指數來看,我們可以稱出0~10這么多的重量,其中3~7的系數為2,說明有2種稱的方法
那么我們來細看一遍
0:(什么砝碼都不放).......................(1種)
1:1.............................................(1種)
2:2.............................................(1種)
3:3或1+2.....................................(2種)
4:4或1+3.....................................(2種)
5:1+4或2+3.................................(2種)
6:2+4或1+2+3..............................(2種)
7:3+4或1+2+4..............................(2種)
8:1+3+4......................................(1種)
9:2+3+4......................................(1種)
10:1+2+3+4.................................(1種)
系數表示數量,指數表示結果,那么2(x^4)則表示結果為4的方法共有2種。
以上為母函數的效果,那么,在具體問題的解答中,母函數應如何實現并解決問題呢?
求用1分、2分、3分的郵票貼出不同數值的方案數:(每張郵票的數量是無限的)
那么
1分:(1+x^1+x^2+x^3+x^4+......)
2分:(1+x^2+x^4+x^6+x^8+......)
3分:(1+x^3+x^6+x^9+x^12+......)
然后這3個乘起來
對于這種無限的,題目肯定會給你他詢問的數值的范圍,計算到最大的范圍就可以了
以下上代碼:
指數母函數:
對于序列a0,a1,a2,a3……an,母函數為:
由此可知,母函數和指數母函數的區別在于系數的不同。