Re: [問題] 請問一個排列組合的問題

看板SENIORHIGH作者 (a21wt)時間13年前 (2011/06/11 10:05), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
※ 引述《KengiBon (誠徵籃球球友)》之銘言: : ※ 引述《KengiBon (誠徵籃球球友)》之銘言: : : 題目: : : 有m個有編號的座位 選取k個座位 : : 且k個座位中至少要有n個連續的座位 : : 請問所有可能選取的情形有幾種? 如果數字不大直接列比較快 以下以m=12, k=7, n=4作例子: (4,3) 若抽出為4個連續,3個連續 因為沒被選到有12-7=5,數字間有5+1個空格,故有2!/1!1!*C(6,2)種排列方法 (4,3) 2*C(6,2)=30 (4,2,1) 3!*C(6,3)=120 (4,1,1,1) 4*C(6,4)=60 (5,2) 2*C(6,2)=30 (5,1,1) 3*C(6,3)=60 (6,1) 2*C(6,2)=30 (7) 1*C(6,1)=6 總共有336種方法 或者以全部方法減掉沒有n個連續的來做,不加贅述。 ---------------------------------------------------------------- 公式解: 首先將選上的k個排好,產生k+1個空格,將沒選上的m-k個放入這些空格內 故不要求N個連續的話,總共有 H(k+1,m-k)方法 剛好x個連續有(k-x+1)組 k+1個空格若有x-1個連續為0則將使數列有x個數字連續,故還能變化的只剩k+1-(x-1) =k-x+2空格 (1)首尾兩組 為了使剛好有x個連續,故緊接第一組後的空格及在最後一組前面的空格必須大於>=1 因此: y1+y2+....+yk-x+2=m-k 其中某一格必須大於一 (y1-1)+y2+....+yk-x+2=m-k-1 故有H(k-x+2,m-k-1)種方法 總共為 2*H(k-x+2,m-k-1) (2)非首尾兩組 總共有k-x+1-2=k-x-1組 因非首尾兩組,故緊鄰連續X數字連續的前後兩格都必須>=1 因此: y1+y2+....+yk-x+2=m-k 其中兩格要大於一 (y1-1)+(y2-1)+.....+yk-x+2=m-k-2 故有H(k-x+2,m-k-2)種方法 總共為 (k-x-1)*H(k-x+2,m-k-2) 但當x=k時,只會有一組,因此為C(m-k+1,1) 故整個公式為 C(m-k+1,1)+Σ[2*H(k-x+2,m-k-1)+(k-x-1)*H(K-x+2,m-k-2)] =C(m-k+1,1)+Σ[2*C(m-x,m-k-1)+(k-x-1)*C(m-x-1,m-k-2)], x=n~k-1 以下以m=12, k=7, n=4作例子: x=4, 2*C(8,4)+2C(7,3)=210 x=5, 2*C(7,4)+1C(6,3)=90 x=6, 2*C(6,4)+0C(5,3)=30 x=7, C(6,1)=6 總共=336 以上公式僅適用於2n>k的時候... 不然x=n時會重複算 我覺得這種題目,真的直接列比較快 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.140.244.183
文章代碼(AID): #1DyirXMi (SENIORHIGH)
文章代碼(AID): #1DyirXMi (SENIORHIGH)