組合數是否有類似康托展開這樣的對映

時間 2021-05-31 12:48:18

1樓:阿勃羅尼斯

一拍腦袋想起我看過這個的內容

Introductory Combinatorics(Fifth Edition) By Richard A. Brualdi Page108

中譯本叫組合數學第五版機械工業出版社的在第67頁 4.4節生成r子集@靈劍 dalao已經講得差不多但是這本書從另乙個方向(? 也匯出了公式

可以看一看開拓思路

2樓:靈劍

當然有了,能排序就能對映到自然數,而有限多個元素沒有不能排序的。考慮題主給出的要求的順序,它實際上是用01表示時候的字典序,要求它對應的自然數,其實也就是求出所有排列中比它小的排列的數量。

這個問題可以遞迴解決,在N個數中取M項的時候,我們考慮最高位,如果它是1,則最高位為0的所有的排列都比自己小,再加上後面的各位比自己小的數量即可;否則只有後面位數比自己小的才符合。可以將它寫成乙個遞迴的形式:

我們知道M剛好就是,這樣可以將整個表示式展開改寫成乙個比較整齊的形式:

最後一項其實始終為0,為了對稱所以寫了出來。

其中我們還可以換乙個思路來看這個表示式,a[k] = 1時,A[k]就表示了這個1是從右數的第幾個1,那麼我們可以反過來用另一種方式來表示這個排列:

設b[k]表示從右數的第k個1,在從右數第b[k]位上,最右邊是第0位。1 <= k <= M。

則直接解釋也很容易,把每個1變成0,然後和右邊所有的1一起組合,產生的數量就是這一位變成0之後的更小的排列數量。

我們來驗證幾個,01100,b[1] = 2, b[2] = 3, 10100, b[1] = 2, b[2] = 4

則實際上還可以看到,這個表示式實際上是與N無關的,所以它可以將「在任意多位置上選擇M個位置的組合」轉換成整數。

反變換的思路是依次找到最高位的大小,注意到最高位在右數第k位、其他1全部移到最右邊對應的是,只要找到合適的k使得

,就可以確定最高位也就是b[M]的值

因為可以比較有效率地找到這個k。

接下來從n中減去這個組合數,然後用相同的方法找b[M-1],依此類推。

有哪些值得推薦的《組合數學》教材或者參考書?

hrs2016 國外教材的 1.Introductory Combinatorics 出版社 Pearson ISBN 9780136020400 注1 此書的英文影印版 出版社 機械工業出版社 ISBN 9787111265252 注2 此書的中譯版 譯者 馮速等 出版社 機械工業出版社 ISBN...

華為是否有可能計畫推出類似PlayStation Xbox的遊戲主機?如果有可能會發展到什麼程度?

邊緣季 反對所有 不可能 的回答!知乎一句說爛了的老話 先問是不是再問為什麼 如何評價華為的 Tron 遊戲機? 取個名字真難 不可能也不支援 中國至少有兩個公司嘗試過了中國人自主研發主機 戰斧f1和小霸王z 遊戲機 小霸王z 戰斧f1 注意手柄,你有發現什麼嗎 先說一下這兩個遊戲機的結局 戰斧的公...

日本是否有類似鐵鏽帶的地區?

刃結 是北海道,沒毛病。上一張圖,1930年 北海道的鐵道線路,再開啟谷歌地圖對比一下現在在運營的鐵路,感受一下 北海道的繁榮類似於北大荒的開荒時期。礦業和鋼鐵等基礎支柱行業是對國家經濟景氣程度最敏感的產業,高速發展期需求巨大,需求的前景也很大,但一旦開始衰退,這些無法轉移的產業就會屍橫遍野。稍微不...