動態規劃學習 花店櫥窗

2021-10-10 05:38:28 字數 919 閱讀 3157

傳送門

思路:

狀態定義f[i][j] 對前i種花選擇j花瓶的最大美學值。

對於題目要求的花種順序,只需要對i種花順序遍歷即可。

得到轉移方程

int pos=0;

for(int k=0;kif(dp[i-1]

[k]>dp[i-1]

[pos]

) pos=k;

//從i-1種花的狀態找到最大值,對當前狀態進行更新。

dp[i]

[j]=dp[i-1]

[pos]+w[i]

[j];

同時,用p[i][j]進行方案數的記錄,即p[i][j]=pos;因為當前狀態由pos位置狀態所轉移,最後即可逆推出答案。

**如下:

#include

#include

using

namespace std;

const

int n=

111;

int dp[n]

[n];

int w[n]

[n];

int p[n]

[n];

void

print

(int i,

int j)

intmain()

int ans=0;

for(

int i=f;i<=v;i++)if

(dp[f]

[i]>dp[f]

[ans]

) ans=i;

//找到答案

cout<[ans]

(f,ans)

;//逆推

return0;

}

花店櫥窗設計 (動態規劃)

問題描述 假設以最美觀的方式布置花店的櫥窗,有f束花,每束花的品種都不一樣,同時,至少有 同樣數量的花瓶,被按順序擺成一行,花瓶的位置是固定的,並從左到右,從1到v順序編 號,v 是花瓶的數目,編號為1的花瓶在最左邊,編號為v的花瓶在最右邊,花束可以移動,並且每束花用1到f 的整數惟一標識,標識花束...

luogu1854 花店櫥窗布置 動態規劃

1854 花店櫥窗布置 把圖畫出來 一眼看過去就特別像走矩陣取數 然後我們就這樣做 但是要注意它的位置有限制 乙個花束i可取的花瓶位置j在i v n i之間 然後就是記錄路徑 include include include include include using namespace std de...

IOI 花店櫥窗

ioi 花店櫥窗 2017年8月14日 dp 遞迴輸出解決方案 假設你想以最美觀的方式布置花店的櫥窗。現在你有f束不同品種的花束,同時你也有至少同樣數量的花瓶被按順序擺成一行。這些花瓶的位置固定於架子上,並從1至v順序編號,v是花瓶的數目,從左至右排列,則最左邊的是花瓶1,最右邊的是花瓶v。花束可以...