小花店问题

 

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.

 

 

 

【博客整理】
这个代码写的比较早,写的并不好 

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