题意简述:
|
V A S E S | |||||
1 |
2 |
3 |
4 |
5 | ||
Bunches |
1 (azaleas) |
7 |
23 |
-5 |
-24 |
16 |
2 (begonias) |
5 |
21 |
-4 |
10 |
23 | |
3 (carnations) |
-21 |
5 |
-4 |
-20 |
20 |
如图所示:以n代表花的种类数(Bunches),m代表放置位置的数量(VASES),m>n,他们之间分别有着对应美学价值关系,设为A[i][j]。对于给定的表格关系图,求放置的所得到的最大美学值。
分析:很显然的一道dp,确定dp[i][j]表示在前i个位置放置j盆花所能得到的最大美学值,
那么所求值就保存在dp[m][n]中。
状态转移:dp[i][j]=max(dp[i-1][j],dp[i-1][j-1]+A[i][j]);
对于这道题的状态转移方程写出来了,实现就自然容易了,下面是代码: