博物館大盜問題
問題:
大盜潛入博物館,面前有5件寶物,分別有重量w和價值v,大盜的揹包僅能負重20 kg,請問如何選擇寶物,總價值最高?
item
weight
value12
3234
3484
5859
10思路:
本題中,從m(1, 1)計算至m(5, 20)
動態規劃**:
tr =
[none,,
,,,]
max_weight =
20# 初始化二維** m[(i, w)]
m =# 逐個填寫二位**
for i in
range(1
,len
(tr)):
for w in
range(1
, max_weight +1)
:if tr[i]
['w'
]> w:
m[(i, w)
]= m[
(i-1
, w)
]else
: m[
(i, w)]=
max(m[
(i-1
, w)
], m[
(i-1
, w - tr[i]
['w'])
]+ tr[i]
['v'])
print m[
(len
(tr)-1
, max_weight)
]
遞迴**:
tr =
# 集合
max_weight =
20m =
# 記憶**m
defthief
(tr, w)
:# 終止條件
if tr ==
set(
)or w ==0:
m[(tuple
(tr)
, w)]=
0return
0elif
(tuple
(tr)
, w)
in m:
return m[
(tuple
(tr)
, w)
]# 遞迴呼叫
else
: vmax =
0for t in tr:
if t[0]
<= w:
v = thief(tr -
, w - t[0]
)+ t[1]
vmax =
max(vmax, v)
m[(tuple
(tr)
, w)
]= vmax # 記錄
return vmax
print thief(tr, max_weight)
有趣的動態規劃例項 博物館大盜問題
大盜潛入博物館,面前有5件寶物,分別有重量和價值,大盜的揹包僅能負重20公 斤,請問如何選擇寶物,總價值最高?物品重量價值1 2323 4348 4585 910明確問題以後,我們需要建立動態規劃 m i,w 其中 i ii 是裝物品的數量 0 i 50 le i le 5 0 i 5 w ww 是...
國家博物館
法門寺 中國寶雞 法門寺 famen temple 又名 真身寶塔 位於炎帝故里 青銅器之鄉 寶雞市,2004年被聯合國教科文組織評為 世界第九大奇蹟 據傳始建於東漢明帝十一年 公元68年 約有1700多年歷史,素有 關中塔廟始祖 之稱,周魏以前稱作 阿育王寺 隋文帝時改稱 成實道場 唐高祖時改名 ...
隨州博物館
2014年10月2日到10月4日為慶祝大舅哥家喬遷之喜,多次在隨州厥水二橋 頂牛.曾國公館 宴請賓客。驚喜發現其旁竟是隨州博物館,之行卻是遺憾,由於時間原因,未能入內一觀。隨州博物館位於湖北省隨州市擂鼓墩大道中段西側的厥水河畔,與全國重點文物保護單位 擂鼓墩古墓群 毗鄰,距離市中心約1公里,占地10...