小花店問題

 

F束花從左到右放在V個花瓶裏面(1<=F<=V<=100),花要按照花的標誌數從小到大排列。不同的花在不同的花瓶能夠產生不同的美學價值。v[i,j]來表示第i朵花在第j個花瓶產生的美學價值。求把n朵花放在m個花瓶能夠產生的最大的美學價值。

這個題和最大公共子串的思考角度相似。由於花必須要小於等於瓶子。而且花的編號由小到大,不能亂序。例如就不能把出現【2,4】 【1,5】這種現象。也就是說插在花瓶中的花按照花瓶的順序,序號升序排列。

  不妨用f(i,j)來表示把前i朵花插入前個瓶子中。當i=j時,f(i,j)=v[1,1]+v[2,2]+...+v[i,i];

當i=0時,f(0,j)=0; 當i!=j, 且i!=0時f(i,j)=max(f(i,j-1),f(i-1,j-1)+v[i,j]) ,i<=j-1.

 

 

 

【博客整理】
這個代碼寫的比較早,寫的並不好 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章