Re: [運算] 不盡相異物的排列
※ 引述《t007123 (林英傑後援會!!!)》之銘言:
: 想請問兩個問題
: 第一個
: 現在有 1 -1 0 三個數下去做排列
: 但是我 1 -1要綁在一起 而且是1後面一定要接 -1
: 然後跟0下去排 我有試過令p=[1,-1] 然後perms(p p p 0)
: 但matlab把p視為可分開的 我現在可能無法用暴力解
: 因為我想跑到18個以上 1 -1 0排列 XDD
: 請問有什麼方法嗎?
這我以前寫過, 用 dynamic programming.
首先, 把 {1, -1} 看成一個 symbol, 0 是另一個 symbol.
Let's call it a and b.
so, if you only have two elements, it will be
[a b] and [b a].
Now, if you have one more element, let's call it c,
the perm will be
[c [a b]], [c [b a]], [[a b] c], [[b a] c]
Since you already have the result of perm [a b], [b a],
You can calculate the perm [a b c] efficiently by dynamic prog.
But the total number is still very large,
if you are asking {1 -1 0} repeatly 6 times (18 elements total)
the number will be ( 12! / (6! 6!) )* 2^6
It's.. huge.
: 第二個
: 手邊有個研究是 五邊形頂點有五個箱子 編號A B C D E 照順序放至頂點
: 要放數字1~25 不可重複 假設從箱子A放數字1
: 則數字2只能放在臨近得箱子 例如: 箱子B 箱子E
: 以此類推將所有數字擺放進去 每個箱子數字各數可不同
: 如何將所有的方法都表示出來
: 第二個問題我想matlab會做不下去 太大了 QQ
: 請各位先進能幫助小弟 感謝
這題用 graph 來做啊.. Travel path with length 25 in a 5 node graph
--
趙客縵胡纓,吾鉤霜雪明。銀鞍照白馬,颯沓如流星。
十步殺一人,千里不留行。是了拂衣去,深藏身與名。
閑過信陵飲,脫劍膝前橫。將炙啖朱亥,持觴勸侯贏。
三杯吐然諾,五嶽倒為輕。眼花耳熱後,意氣素霓生。
就趙揮金錘,邯鄲先震驚。千秋二壯士,烜赫大梁城。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 76.170.76.14
討論串 (同標題文章)