從v中選一些資料,使之和與另一給定值j最接近,(不大於j)對於v中的某個元素,用選或不選進行分析,選用此數時放右子樹
不選時放左子樹,並進行遞迴 。
# -*- coding:utf-8-*-
###從v中選一些數,使之和與另一給定值j 最接近(不大於j)。 動態規劃時,對於v中的某個元素,選或不選進行遞迴,選此數時放右子樹,小的放左子樹
###利用二叉樹遞迴處理,動態規劃 v ,並把每個右子樹的值儲存在的r_list中。
v=[11,91,12,71,97,5,23,9,21,73,34]
r_list=[0,0]
def knap(i,j):
if(i==-1 or j<=0):
return 0
else:
left=knap(i-1,j)
right=knap(i-1,j-v[i])+v[i]
if(j>=v[i] and right>=left):
return right
else:
return left
###處理遞迴儲存在右子樹的值(除重,並除首值)
val=knap(10,431)
leng=len(r_list)
sel=list()
def deal_list(r_list):
for t in r_list:
if not t in sel:
sel.remove(sel[0])
###從列表v中找位置
乙個簡單的動態規劃題
一直感覺 動態 規劃和排列好難的 乙個簡單的題目。開司,乙個整日遊手好閒 無所事事 混跡人生 軟弱無能 放縱慾望 毫無進取 嗯,實在是太多了,就不一一枚舉了。總之,他就是完美的符合了我們日常中對人渣這一詞的認識。不過他有這唯一,也是無敵般的特長,就是逆境求生 不論是什麼樣的逆境,他都可以翻盤。這不是...
動態規劃走樓梯 乙個題目幫你入門動態規劃演算法
如果有一座高度是10級台階的樓梯,從下往上走,每跨一步只能向上1級或者2級台階。要求用程式來求出一共有多少種走法。如果每次走1級台階,一共走10步,這是其中一種走法。我們可以簡寫成 1,1,1,1,1,1,1,1,1,1。如果每次走2級台階,一共走5步,這是另一種走法。我們可以簡寫成 2,2,2,2...
動態規劃 計畫乙個公司聚會
問題 stewart教授是一家公司總裁的顧問,這家公司計畫乙個公司聚會。這個公司有乙個層次結構 也就是,管理關係形成一棵以總裁為根的樹。人事部給每個雇員以喜歡聚會的程度來排名,這是乙個實數。為了使每個參加者都喜歡這個聚會,總裁不希望乙個雇員和他 她 的直接上司同時參加。stewart教授面對一顆描述...