【组合数学】生成函数 ( 使用生成函数求解多重集 r 组合数 )
文章目錄
- 一、使用生成函數(shù)求解多重集 r 組合數(shù)
- 二、使用生成函數(shù)求解多重集 r 組合數(shù) 示例
參考博客 :
- 【組合數(shù)學(xué)】生成函數(shù) 簡要介紹 ( 生成函數(shù)定義 | 牛頓二項(xiàng)式系數(shù) | 常用的生成函數(shù) | 與常數(shù)相關(guān) | 與二項(xiàng)式系數(shù)相關(guān) | 與多項(xiàng)式系數(shù)相關(guān) )
- 【組合數(shù)學(xué)】生成函數(shù) ( 線性性質(zhì) | 乘積性質(zhì) )
- 【組合數(shù)學(xué)】生成函數(shù) ( 移位性質(zhì) )
- 【組合數(shù)學(xué)】生成函數(shù) ( 求和性質(zhì) )
- 【組合數(shù)學(xué)】生成函數(shù) ( 換元性質(zhì) | 求導(dǎo)性質(zhì) | 積分性質(zhì) )
- 【組合數(shù)學(xué)】生成函數(shù) ( 性質(zhì)總結(jié) | 重要的生成函數(shù) ) ★
- 【組合數(shù)學(xué)】生成函數(shù) ( 生成函數(shù)示例 | 給定通項(xiàng)公式求生成函數(shù) | 給定生成函數(shù)求通項(xiàng)公式 )
- 【組合數(shù)學(xué)】生成函數(shù) ( 生成函數(shù)應(yīng)用場景 | 使用生成函數(shù)求解遞推方程 )
一、使用生成函數(shù)求解多重集 r 組合數(shù)
S={n1?a1,n2?a2,?,nk?ak}S = \{ n_1 \cdot a_1, n_2 \cdot a_2, \cdots, n_k \cdot a_k \}S={n1??a1?,n2??a2?,?,nk??ak?} 是多重集 , 其含有 kkk 個(gè)種類的元素 , n1,n2,?,nkn_1, n_2, \cdots, n_kn1?,n2?,?,nk? 是每種元素的重復(fù)度 ,
該 多重集的 rrr 組合數(shù) , 是 不定方程 x1+x2+?+xk=rx_1 + x_2 + \cdots + x_k = rx1?+x2?+?+xk?=r 的非負(fù)整數(shù)解 , 前提是 xi≤nix_i \leq n_ixi?≤ni? , 每個(gè)元素所取的個(gè)數(shù) xix_ixi? , 不能超過其重復(fù)度 nin_ini? ;
相當(dāng)于 a1a_1a1? 取 x1x_1x1? 個(gè) , a2a_2a2? 取 x2x_2x2? 個(gè) , ?\cdots? , aka_kak? 取 xkx_kxk? 個(gè) , 總共取 rrr 個(gè) ;
nin_ini? 是無窮個(gè)數(shù)時(shí) , 多重集的 rrr 組合數(shù)是 C(k+r?1,r)C(k + r - 1, r)C(k+r?1,r)
回顧多重集排列組合 :
- 可重復(fù)的元素 , 有序的選取 , 對應(yīng) 多重集的排列 ; 全排列=n!n1!n2!?nk!全排列 = \cfrac{n!}{n_1! n_2! \cdots n_k!}全排列=n1?!n2?!?nk?!n!? , 非全排列 kr,r≤nik^r , \ \ r\leq n_ikr,??r≤ni?
- 可重復(fù)的元素 , 無序的選取 , 對應(yīng) 多重集的組合 ; N=C(k+r?1,r)N= C(k + r - 1, r)N=C(k+r?1,r)
上述的 多重集 rrr 組合數(shù) C(k+r?1,r)C(k + r - 1, r)C(k+r?1,r) 是在重復(fù)度不受限制的情況下的選取結(jié)果 , 如果重復(fù)度受限制 , 就需要使用生成函數(shù)進(jìn)行計(jì)算 ;
如添加如下限制 : a1a_1a1? 最多能取 333 個(gè) , a2a_2a2? 最少取 444 個(gè) , 最多取 101010 個(gè) ;
生成函數(shù) :
G(y)=G(y) =G(y)= (1+y+?+yn1)(1 + y + \cdots + y^{n_1})(1+y+?+yn1?) (1+y+?+yn2)(1 + y + \cdots + y^{n_2})(1+y+?+yn2?) ?\cdots? (1+y+?+ynk)(1 + y + \cdots + y^{n_k})(1+y+?+ynk?)
多重集中的每個(gè)元素的取值個(gè)數(shù)作為 yyy 的次冪 , 如 a1a_1a1? 元素的取值個(gè)數(shù)是 000 到 n1n_1n1? , 則該項(xiàng)對應(yīng)的 生成函數(shù)項(xiàng)是 從 yyy 的 000 次冪 , 到 yyy 的 n1n_1n1? 次冪 相加 ; 構(gòu)成項(xiàng) (1+y+?+yn1)(1 + y + \cdots + y^{n_1})(1+y+?+yn1?) ;
將所有元素的上述 生成函數(shù)項(xiàng) 乘到一起 , 就構(gòu)成上述生成函數(shù) ;
按照多項(xiàng)式乘法 , 多重集中取 rrr 個(gè)元素 ,
從第一個(gè)因式 (1+y+?+yn1)(1 + y + \cdots + y^{n_1})(1+y+?+yn1?) 拿出 yx1y^{x_1}yx1? ,
從第二個(gè)因式 (1+y+?+yn2)(1 + y + \cdots + y^{n_2})(1+y+?+yn2?) 拿出 yx2y^{x_2}yx2? ,
?\vdots?
從第 kkk 個(gè)因式 (1+y+?+ynk)(1 + y + \cdots + y^{n_k})(1+y+?+ynk?) 拿出 yxky^{x_k}yxk? ,
如果上述乘積 yx1yx2?yxky^{x_1}y^{x_2}\cdots y^{x_k}yx1?yx2??yxk? 的結(jié)果 是 yry^{r}yr , 即 yx1yx2?yxk=yry^{x_1}y^{x_2}\cdots y^{x_k} = y^{r}yx1?yx2??yxk?=yr , 相當(dāng)于指數(shù) x1+x2+?+xk=rx_1 + x_2 + \cdots + x_k = rx1?+x2?+?+xk?=r , 也就是不定方程的非負(fù)整數(shù)解 ;
二、使用生成函數(shù)求解多重集 r 組合數(shù) 示例
多重集 S={3?a,4?b,5?c}S = \{3\cdot a , 4 \cdot b , 5 \cdot c \}S={3?a,4?b,5?c} , 求該多重集的 101010 組合數(shù) ;
上述多重集元素的 重復(fù)度 3,4,53,4,53,4,5 都不超過 101010 ;
對應(yīng) aaa 元素 , 其 重復(fù)度取值范圍是 000 ~ 333 , 對應(yīng)的生成函數(shù)項(xiàng)是 y0+y1+y2+y3y^0 +y^1 + y^2 + y^3y0+y1+y2+y3
對應(yīng) bbb 元素 , 其 重復(fù)度取值范圍是 000 ~ 444 , 對應(yīng)的生成函數(shù)項(xiàng)是 y0+y1+y2+y3+y4y^0 +y^1 + y^2 + y^3 + y^4y0+y1+y2+y3+y4
對應(yīng) ccc 元素 , 其重 復(fù)度取值范圍是 000 ~ 555 , 對應(yīng)的生成函數(shù)項(xiàng)是 y0+y1+y2+y3+y4+y5y^0 +y^1 + y^2 + y^3 + y^4 + y^5y0+y1+y2+y3+y4+y5
將上述項(xiàng)相乘 , 得到完整的生成函數(shù) ;
G(x)=(y0+y1+y2+y3)(y0+y1+y2+y3+y4)(y0+y1+y2+y3+y4+y5)G(x) = (y^0 +y^1 + y^2 + y^3)(y^0 +y^1 + y^2 + y^3 + y^4)(y^0 +y^1 + y^2 + y^3 + y^4 + y^5)G(x)=(y0+y1+y2+y3)(y0+y1+y2+y3+y4)(y0+y1+y2+y3+y4+y5)
=(1+y1+y2+y3)(1+y1+y2+y3+y4)(1+y1+y2+y3+y4+y5)\ \ \ \ \ \ \ \ \ \ =(1 +y^1 + y^2 + y^3)(1 +y^1 + y^2 + y^3 + y^4)(1 +y^1 + y^2 + y^3 + y^4 + y^5)??????????=(1+y1+y2+y3)(1+y1+y2+y3+y4)(1+y1+y2+y3+y4+y5)
=(1+2y1+3y2+4y3+4y4+3y5+2y6+y7)(1+y1+y2+y3+y4+y5)\ \ \ \ \ \ \ \ \ \ =(1 +2y^1 + 3y^2 + 4y^3 + 4y^4 + 3y^5 + 2y^6 + y^7 )(1 +y^1 + y^2 + y^3 + y^4 + y^5)??????????=(1+2y1+3y2+4y3+4y4+3y5+2y6+y7)(1+y1+y2+y3+y4+y5)
統(tǒng)計(jì)上述兩項(xiàng)相乘 , yyy 的次冪值為 101010 的項(xiàng) :
第一個(gè)因式的 3y53y^53y5 與第二個(gè)因式的 y5y^5y5 , 相乘為 3y103y^{10}3y10
第一個(gè)因式的 2y62y^62y6 與第二個(gè)因式的 y4y^4y4 , 相乘為 2y102y^{10}2y10
第一個(gè)因式的 y7y^7y7 與第二個(gè)因式的 y3y^3y3 , 相乘為 y10y^{10}y10
y10y^{10}y10 項(xiàng)前的系數(shù)是 3+2+1=63 + 2+1 = 63+2+1=6
因此上述 多重集的 101010 組合 ,選擇方案有 666 種 ;
總結(jié)
以上是生活随笔為你收集整理的【组合数学】生成函数 ( 使用生成函数求解多重集 r 组合数 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【组合数学】生成函数 ( 生成函数应用场
- 下一篇: 【组合数学】生成函数 ( 使用生成函数求