104. Little shop of flowers

9 篇文章 0 订阅


                                                                                

104. Little shop of flowers

time limit per test: 0.25 sec.
memory limit per test: 4096 KB

PROBLEM

You want to arrange the window of your flower shop in a most pleasant way. You haveF bunches of flowers, each being of a different kind, and at least as many vases ordered in a row. The vases are glued onto the shelf and are numbered consecutively 1 throughV, where V is the number of vases, from left to right so that the vase 1 is the leftmost, and the vaseV is the rightmost vase. The bunches are moveable and are uniquely identified by integers between 1 andF. These id-numbers have a significance: They determine the required order of appearance of the flower bunches in the row of vases so that the bunchi must be in a vase to the left of the vase containing bunch j wheneveri < j. Suppose, for example, you have bunch of azaleas (id-number=1), a bunch of begonias (id-number=2) and a bunch of carnations (id-number=3). Now, all the bunches must be put into the vases keeping their id-numbers in order. The bunch of azaleas must be in a vase to the left of begonias, and the bunch of begonias must be in a vase to the left of carnations. If there are more vases than bunches of flowers then the excess will be left empty. A vase can hold only one bunch of flowers.

Each vase has a distinct characteristic (just like flowers do). Hence, putting a bunch of flowers in a vase results in a certain aesthetic value, expressed by an integer. The aesthetic values are presented in a table as shown below. Leaving a vase empty has an aesthetic value of 0.

  

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

 

According to the table, azaleas, for example, would look great in vase 2, but they would look awful in vase 4.

To achieve the most pleasant effect you have to maximize the sum of aesthetic values for the arrangement while keeping the required ordering of the flowers. If more than one arrangement has the maximal sum value, any one of them will be acceptable. You have to produce exactly one arrangement.

ASSUMPTIONS

  • 1 ≤ F ≤ 100 where F is the number of the bunches of flowers. The bunches are numbered 1 throughF.
  • FV ≤ 100 where V is the number of vases.
  • -50 £ Aij £ 50 whereAij is the aesthetic value obtained by putting the flower bunchi into the vase j.

Input

  • The first line contains two numbers: F, V.
  • The following F lines: Each of these lines contains V integers, so thatAij is given as the j’th number on the (i+1)’st line of the input file.

Output

  • The first line will contain the sum of aesthetic values for your arrangement.
  • The second line must present the arrangement as a list of F numbers, so that thek’th number on this line identifies the vase in which the bunch k is put.

Sample Input

3 5 
7 23 -5 -24 16
5 21 -4 10 23
-21 5 -4 -20 20

Sample Output

53 
2 4 5


样例理解:F[1] 摆在V[2]        F[2] 摆在V[4]        F[3]摆在V[5]  23 + 10 + 20 = 53

有F束花和V个花瓶,对于花F[i]插入不同的瓶子V[j]中会有不同的美观值, 编号小的花要摆在编号小的花瓶中,求摆放这F束花能产生的最大的美观值,并求花1~F分别应该摆到哪个花瓶中

把这题看成:“给出一个矩阵,在每一行选出一个元素,使所有元素的和最小,其中第i个元素必须在第i+1个元素的左上方”更好理解

状态转移方程:dp[i][j] = max(dp[i][j-1], dp[i-1][j-1]+val[i][j])  dp[i][j]表示取第i行第j个元素的时候能取到的和的最大值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值