【组合数学】生成函数 ( 正整数拆分 | 无序 | 有序 | 允许重复 | 不允许重复 | 无序不重复拆分 | 无序重复拆分 )
文章目錄
- 一、正整數(shù)拆分
- 二、無序拆分
- 1、無序拆分 不允許重復(fù)
- 2、無序拆分 允許重復(fù)
參考博客 :
- 【組合數(shù)學(xué)】生成函數(shù) 簡(jiǎn)要介紹 ( 生成函數(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)用場(chǎng)景 | 使用生成函數(shù)求解遞推方程 )
- 【組合數(shù)學(xué)】生成函數(shù) ( 使用生成函數(shù)求解多重集 r 組合數(shù) )
- 【組合數(shù)學(xué)】生成函數(shù) ( 使用生成函數(shù)求解不定方程解個(gè)數(shù) )
- 【組合數(shù)學(xué)】生成函數(shù) ( 使用生成函數(shù)求解不定方程解個(gè)數(shù)示例 )
- 【組合數(shù)學(xué)】生成函數(shù) ( 使用生成函數(shù)求解不定方程解個(gè)數(shù)示例 2 | 擴(kuò)展到整數(shù)解 )
一、正整數(shù)拆分
正整數(shù)拆分 涉及內(nèi)容 :
- 拆分定義與分類
- 無序拆分
- 有序拆分
一個(gè)正整數(shù)可以 拆分成若干正整數(shù) 的和 , 每種不同的拆分方法 , 就可以 看做一個(gè)方案 ;
按照拆分順序進(jìn)行分類 : 444 拆分成 111 和 333 , 444 拆分成 333 和 111 ;
- 有序拆分 : 上述 222 個(gè) 正整數(shù)拆分 , 是 兩種不同的拆分方法 ;
- 無序拆分 : 上述 222 個(gè) 正整數(shù)拆分 , 是 同一種拆分方法 ;
按照是否重復(fù)進(jìn)行分類 :
- 允許重復(fù) : 拆分時(shí) , 允許拆分成若干個(gè)重復(fù)的正整數(shù) , 如 333 拆分成 333 個(gè) 111 ;
- 不允許重復(fù) : 拆分時(shí) , 拆分的正整數(shù) 不允許重復(fù) , 如 333 拆分成 333 個(gè) 111 是錯(cuò)誤的 , 只能拆分成 1,21,21,2 ;
正整數(shù)拆分可以按照性質(zhì) , 分為 444 類 ;
- 有序重復(fù)
- 有序不重復(fù)
- 無序重復(fù)
- 無序不重復(fù)
二、無序拆分
無序拆分基本模型 :
將 正整數(shù) NNN 無序拆分成正整數(shù) , a1,a2,?,ana_1, a_2, \cdots , a_na1?,a2?,?,an? 是拆分后的 nnn 個(gè)數(shù) ,
該拆分是無序的 , 上述拆分的 nnn 個(gè)數(shù)的個(gè)數(shù)可能是不一樣的 ,
假設(shè) a1a_1a1? 有 x1x_1x1? 個(gè) , a2a_2a2? 有 x2x_2x2? 個(gè) , ?\cdots? , ana_nan? 有 xnx_nxn? 個(gè) , 那么有如下方程 :
a1x1+a2x2+?+anxn=Na_1x_1 + a_2x_2 + \cdots + a_nx_n = Na1?x1?+a2?x2?+?+an?xn?=N
這種形式可以使用 不定方程非負(fù)整數(shù)解個(gè)數(shù) 的生成函數(shù)計(jì)算 , 是 帶系數(shù) , 帶限制條件的情況 , 參考 : 組合數(shù)學(xué)】生成函數(shù) ( 使用生成函數(shù)求解不定方程解個(gè)數(shù) )
無序拆分的情況下 , 拆分后的正整數(shù) , 允許重復(fù) 和 不允許重復(fù) , 是兩類組合問題 ;
如果不允許重復(fù) , 那么這些 xix_ixi? 的取值 , 只能 取值 0,10, 10,1 ; 相當(dāng)于 帶限制條件 , 帶系數(shù) 的 不定方程非負(fù)整數(shù)解 的情況 ;
如果 允許重復(fù) , 那么這些 xix_ixi? 的取值 , 就是 自然數(shù) ; 相當(dāng)于 帶系數(shù) 的 不定方程非負(fù)整數(shù)解 的情況 ;
1、無序拆分 不允許重復(fù)
討論 無序拆分 , 不允許重復(fù)的情況 , 該方式 等價(jià)于 帶限制條件 , 帶系數(shù) 的 不定方程非負(fù)整數(shù)解 的情況 ;
a1a_1a1? 項(xiàng)對(duì)應(yīng)的生成函數(shù)項(xiàng) , x1x_1x1? 取值 0,10,10,1 , 則對(duì)應(yīng)的生成函數(shù)項(xiàng)是 (ya1)0+(ya1)1=1+ya1(y^{a_1})^{0} + (y^{a_1})^{1}= 1+ y^{a_1}(ya1?)0+(ya1?)1=1+ya1?
a2a_2a2? 項(xiàng)對(duì)應(yīng)的生成函數(shù)項(xiàng) , x2x_2x2? 取值 0,10,10,1 , 則對(duì)應(yīng)的生成函數(shù)項(xiàng)是 (ya2)0+(ya2)1=1+ya2(y^{a_2})^{0} + (y^{a_2})^{1}= 1+ y^{a_2}(ya2?)0+(ya2?)1=1+ya2?
?\vdots?
ana_nan? 項(xiàng)對(duì)應(yīng)的生成函數(shù)項(xiàng) , xnx_nxn? 取值 0,10,10,1 , 則對(duì)應(yīng)的生成函數(shù)項(xiàng)是 (yan)0+(yan)1=1+yan(y^{a_n})^{0} + (y^{a_n})^{1}= 1+ y^{a_n}(yan?)0+(yan?)1=1+yan?
將上述生成函數(shù)項(xiàng)相乘 , 則可得到完整生成函數(shù) :
G(x)=(1+ya1)(1+ya2)?(1+yan)G(x) = (1+ y^{a_1}) (1+ y^{a_2}) \cdots (1+ y^{a_n})G(x)=(1+ya1?)(1+ya2?)?(1+yan?)
將上述生成函數(shù)寫好之后 , 計(jì)算 展開 , yyy 的 NNN 次冪的系數(shù) , 就是 正整數(shù) NNN 的拆分方案數(shù) ;
2、無序拆分 允許重復(fù)
討論 無序拆分 , 允許重復(fù)的情況 , 該方式 等價(jià)于 不帶限制條件 , 帶系數(shù) 的 不定方程非負(fù)整數(shù)解 的情況 ;
a1a_1a1? 項(xiàng)對(duì)應(yīng)的生成函數(shù)項(xiàng) , x1x_1x1? 取值 0,1,?0,1, \cdots0,1,? , 則對(duì)應(yīng)的生成函數(shù)項(xiàng)是 (ya1)0+(ya1)1+(ya1)2=1+ya1+y2a1?(y^{a_1})^{0} + (y^{a_1})^{1} + (y^{a_1})^{2}= 1+ y^{a_1} + y^{2a_1}\cdots(ya1?)0+(ya1?)1+(ya1?)2=1+ya1?+y2a1??
a2a_2a2? 項(xiàng)對(duì)應(yīng)的生成函數(shù)項(xiàng) , x2x_2x2? 取值 0,1,?0,1, \cdots0,1,? , 則對(duì)應(yīng)的生成函數(shù)項(xiàng)是 (ya2)0+(ya2)1+(ya2)2=1+ya2+y2a2?(y^{a_2})^{0} + (y^{a_2})^{1} + (y^{a_2})^{2}= 1+ y^{a_2} + y^{2a_2}\cdots(ya2?)0+(ya2?)1+(ya2?)2=1+ya2?+y2a2??
?\vdots?
ana_nan? 項(xiàng)對(duì)應(yīng)的生成函數(shù)項(xiàng) , xnx_nxn? 取值 0,1,?0,1, \cdots0,1,? , 則對(duì)應(yīng)的生成函數(shù)項(xiàng)是 (yan)0+(yan)1+(yan)2=1+yan+y2an?(y^{a_n})^{0} + (y^{a_n})^{1} + (y^{a_n})^{2}= 1+ y^{a_n} + y^{2a_n}\cdots(yan?)0+(yan?)1+(yan?)2=1+yan?+y2an??
將上述生成函數(shù)項(xiàng)相乘 , 則可得到完整生成函數(shù) :
G(x)=(1+ya1+y2a1?)(1+ya2+y2a2?)?(1+yan+y2an?)G(x) = (1+ y^{a_1}+ y^{2a_1}\cdots) (1+ y^{a_2} + y^{2a_2}\cdots) \cdots (1+ y^{a_n}+ y^{2a_n}\cdots )G(x)=(1+ya1?+y2a1??)(1+ya2?+y2a2??)?(1+yan?+y2an??)
上述生成函數(shù)可以根據(jù) 如下生成函數(shù)的常用取值 :
{an}\{a_n\}{an?} , an=1na_n = 1^nan?=1n ; A(x)=∑n=0∞xn=11?x\begin{aligned} A(x) & = \sum_{n=0}^{\infty} x^n = \frac{1}{1-x} \end{aligned}A(x)?=n=0∑∞?xn=1?x1??
將 1+ya1+y2a1?1+ y^{a_1}+ y^{2a_1}\cdots1+ya1?+y2a1?? 中的 ya1y^{a_1}ya1? 換元成 xxx , 則可得到
1+x+x2+x3+?1 + x + x^2 + x^3 + \cdots1+x+x2+x3+?
對(duì)應(yīng)的數(shù)列是 1n1^n1n
則上述 1+ya1+y2a1?=11?ya11+ y^{a_1}+ y^{2a_1}\cdots =\cfrac{1}{1-y^{a_1}}1+ya1?+y2a1??=1?ya1?1?
最終化簡(jiǎn)結(jié)果 :
G(x)=(1+ya1+y2a1?)(1+ya2+y2a2?)?(1+yan+y2an?)G(x) = (1+ y^{a_1}+ y^{2a_1}\cdots) (1+ y^{a_2} + y^{2a_2}\cdots) \cdots (1+ y^{a_n}+ y^{2a_n}\cdots )G(x)=(1+ya1?+y2a1??)(1+ya2?+y2a2??)?(1+yan?+y2an??)
=1(1?ya1)(1?ya2)?(1?yan)\ \ \ \ \ \ \ \ \ \ =\cfrac{1}{ (1-y^{a_1}) (1-y^{a_2}) \cdots (1-y^{a_n}) }??????????=(1?ya1?)(1?ya2?)?(1?yan?)1?
將上述生成函數(shù)寫好之后 , 計(jì)算 展開 , yyy 的 NNN 次冪的系數(shù) , 就是 正整數(shù) NNN 的拆分方案數(shù) ;
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的【组合数学】生成函数 ( 正整数拆分 | 无序 | 有序 | 允许重复 | 不允许重复 | 无序不重复拆分 | 无序重复拆分 )的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【组合数学】生成函数 ( 使用生成函数求
- 下一篇: 【组合数学】生成函数 ( 正整数拆分 |