Re: [問題] 長度很長的排列組合已回收

看板MATLAB作者 (Achilles)時間16年前 (2009/03/11 09:44), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《einstein328 (pica)》之銘言: : 各位好 : 假如我需要n很大的排列組合,我應該要如何下手,且矩陣裡只有 0、1 : 例如 : M = [ones(1,40) zeros(1,260)] ; : 矩陣長度 = 300,我想得到這個矩陣的所有排列組合,且0和1的總數不變 : 所以照理說會有 300!/(40!*260!) 個組合‧ : 先謝謝有閱讀此問題的版友 這是一個很有趣的問題. 這可以試試看, divide and conquer. 假設第一位一定是 0, 你剩下 259 of zeros, 40 ones.... 你可以用這個推出來. 比方說, 我現在有 [0 1 1], 1 個 0 和 2 個 1. 我只要考慮 [1 1] 的 Perturbation 以及 [0 1] 的, say, [1 1] can only be [1 1], and [0 1] can be either [0 1] or [1 0]. so, [0 1 1] can be [0 1 1], [1 0 1] and [1 1 0] 不過嘛.. 我想了下, 這個方法應該是等價於 dynamic programing, 你還是需要慢慢的 build up all possibility. 但是, 至少這是 do-able 的. -- 趙客縵胡纓,吾鉤霜雪明。銀鞍照白馬,颯沓如流星。 十步殺一人,千里不留行。是了拂衣去,深藏身與名。 閑過信陵飲,脫劍膝前橫。將炙啖朱亥,持觴勸侯贏。 三杯吐然諾,五嶽倒為輕。眼花耳熱後,意氣素霓生。 就趙揮金錘,邯鄲先震驚。千秋二壯士,烜赫大梁城。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 128.125.20.198
文章代碼(AID): #19jnTmay (MATLAB)
文章代碼(AID): #19jnTmay (MATLAB)