@kaike
傳送門這是某年ioi的題?別看我我不知道
光看題目都看不懂
話說要什麼花束編號必須按順序啊
求最大值啊
還要什麼輸出編號啊
聽說dp出方案都是耍流氓
f[i][j]=max(f[i-1][k])+a[i][j]
1for(int i=1;i<=n;i++)//
列舉花束
2for(int j=i;j<=v-n+i;j++)//
列舉花瓶,範圍要注意
311 f[i][j]=mm+a[i][j];//
逐個往後推
12 pre[i][j]=c;//
記錄每個最合適的位置
13 }
1 #include2你撒不撒using
namespace
std;
3int n,v,c,a[110][110],f[110][110];4
int maxx=0,mm=0,ans[110],pre[110][110];5
intmain()
622 f[i][j]=mm+a[i][j];//
逐個往後推
23 pre[i][j]=c;//
記錄每個最合適的位置24}
25for(int i=1;i<=v;i++)
26if(maxx
2731
for(int i=n;i>1;i--)
3236 cout
37for(int i=1;i<=n;i++)
38 cout
39return0;
40 }
花店櫥窗布置 DP
由 分析可以得知,這道題的擺放方案需要滿足 每行只選乙個數 美學值 且相鄰的兩行後一行的花瓶標號要大於前一行。那麼問題就轉換為了 在乙個數字 中,要求計算一條從頂至底的路徑,使得所經過的數字之和最大,且相鄰兩行中,後一行的列數要大於前一行。現在這道題和數塔問題很相似了,可以模擬求解。include ...
DP 花店櫥窗布置
2019 03 06 題目及 更新 某花店現有f束花,每一束花的品種都不一樣,同時至少有同樣數量的花瓶,被按順序擺成一行,花瓶的位置是固定的,從左到右按1到v順序編號,v是花瓶的數目。花束可以移動,並且每束花用1到f的整數標識。如果i j,則花束i必須放在花束j左邊的花瓶中。例如,假設杜鵑花的標識數...
DP練習1 花店櫥窗布置
某花店現有f束花,每一束花的品種都不一樣,同時至少有同樣數量的花瓶,被按順序擺成一行,花瓶的位置是固定的,從左到右按1到v順序編號,v是花瓶的數目。花束可以移動,並且每束花用1到f的整數標識。如果i j,則花束i必須放在花束j左邊的花瓶中。例如,假設杜鵑花的標識數為1,秋海棠的標識數為2,康乃馨的標...