一、母函式
1.定義:對於序列a0,a1,a2,…構造一函式:
稱函式g(x)是序列a0,a1,a2,…的母函式。
2.舉例
1)幾種砝碼(1g,2g,3g,4g的砝碼各乙個)組合稱重的情況
考慮構造母函式。 如果用x的指數表示稱出的重量,則: 1個1克的砝碼可以用函式1+x表示, 1個2克的砝碼可以用函式1+x2表示, 1個3克的砝碼可以用函式1+x3表示, 1個4克的砝碼可以用函式1+x4表示。
幾種砝碼的組合可以稱重的情況,可以用以上幾個函式的乘積表示:
(1+x)(1+x2)(1+x3)(1+x4) =(1+x+x2+x3)(1+x3+x4+x7) =1+x+x2+2x3+2x4+2x5+2x6+2x7+x8+x9+x10
2)求用1分、2分、3分的郵票貼出不同數值的方案數
因郵票允許重複,所以母函式為
以展開後的x4為例,其係數為4,即4拆分成1、2、3之和的拆分數為4,即 : 4=1+1+1+1=1+1+2=1+3=2+2
3)整數拆分
所謂整數拆分即把整數分解成若干整數的和,相當於把n個無區別的球放到n個無標誌的盒子,盒子允許空著,也允許放多於乙個球。
3.實現母函式的應用(關鍵是多項式展開)
整數拆分為例:
砝碼稱重問題求解 動態規劃與母函式方法
砝碼稱重問題 設有1g 2g 3g 5g 10g 20g 的砝碼各若干枚 其質量 1000g 求出用他們能稱出的質量的種類數 不包括質量為0的情況 一 動態規劃方法求解 設dp 1000 陣列為標記陣列。當dp i 0時,表示質量為i的情況,目前沒有稱出 當dp i 1時,表示質量為i的情況已經稱出...
母函式與序列
什麼是母函式 有n個骰子,有多少種骰法使得和為m?對應母函式 有1 4g砝碼各乙個,一共能稱出多少種不同的質量,分別有多少種方案?母函式和函式的區別 函式注重的是自變數x和因變數f x 而母函式注重的是每一項的係數 無序拆分問題 整數n拆成1,2,3,m的和,並允許重複,有多少種方案 每個數字都可能...
動態規劃與遞迴
這裡借用leetcode的一道例題,來說一下動態規劃和遞迴的區別 給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。相鄰的結點 在這裡指的是 下標 與 上一層結點下標 相同或者等於 上一層結點下標 1 的兩個結點。例如,給定三角形 2 3,4 6,5,7 4,1,8,3...