• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            POJ 1157 LITTLE SHOP OF FLOWERS 動(dòng)態(tài)規(guī)劃

            Description

            You want to arrange the window of your flower shop in a most pleasant way. You have F 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 through V, where V is the number of vases, from left to right so that the vase 1 is the leftmost, and the vase V is the rightmost vase. The bunches are moveable and are uniquely identified by integers between 1 and F. 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 bunch i must be in a vase to the left of the vase containing bunch j whenever i < 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.

            Input

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


            • 1 <= F <= 100 where F is the number of the bunches of flowers. The bunches are numbered 1 through F.
            • F <= V <= 100 where V is the number of vases.
            • -50 <= Aij <= 50 where Aij is the aesthetic value obtained by putting the flower bunch i into the vase j.

            Output

            The first line will contain the sum of aesthetic values for your arrangement.

            Sample Input

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

            Sample Output

            53

            Source

                因?yàn)轭}目中規(guī)定若i<j,則第i束花必須出現(xiàn)在第j束花之前,根據(jù)這一條件,可以用花的數(shù)目來進(jìn)行動(dòng)態(tài)規(guī)劃。設(shè)dp[i,j]為前i束花插在前j個(gè)花瓶中的最大美學(xué)值,有狀態(tài)轉(zhuǎn)移方程:dp[i,j]=max(dp[i-1,k-1]+A[i,k]),其中i<=k<=j,A[i,k]為第i束花插在第k個(gè)花瓶中的美學(xué)值,規(guī)定dp[i,0]=0,1<=i<=F。
            #include<iostream>
            using namespace std;

            const int MAXN = 101;
            const int inf = 10000;
            int A[MAXN][MAXN],dp[MAXN][MAXN];

            int main(){
                
            int i,j,k,f,v,t;
                
            while(scanf("%d %d",&f,&v)!=EOF){
                    
            for(i=1;i<=f;i++){
                        dp[i][
            0]=0;
                        
            for(j=1;j<=v;j++){
                            scanf(
            "%d",&A[i][j]);
                            dp[i][j]
            =-1;
                        }

                    }

                    
            for(i=1;i<=f;i++)
                        
            for(j=1;j<=v;j++)
                            
            for(t=-inf,k=i;k<=j;k++){
                                t
            =max(t,dp[i-1][k-1]+A[i][k]);
                                
            if(dp[i][j]==-1 || dp[i][j]<t)
                                    dp[i][j]
            =t;
                            }

                    printf(
            "%d\n",dp[f][v]);
                }

                
            return 0;
            }

            posted on 2009-06-16 13:57 極限定律 閱讀(1448) 評(píng)論(1)  編輯 收藏 引用 所屬分類: ACM/ICPC

            評(píng)論

            # re: POJ 1157 LITTLE SHOP OF FLOWERS 動(dòng)態(tài)規(guī)劃 2009-11-17 21:57 Gamor

            dp[i][j] = max(dp[i][j - 1], dp[i - 1][j - 1] + A[i][j])  回復(fù)  更多評(píng)論   

            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(10)

            隨筆分類

            隨筆檔案

            友情鏈接

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久久久久国产精品无码超碰| 色8久久人人97超碰香蕉987| 久久久久AV综合网成人| 精品一久久香蕉国产线看播放| 国产精品久久久久久久久鸭| 久久精品99久久香蕉国产色戒| 成人综合久久精品色婷婷 | 91精品无码久久久久久五月天| 无码人妻久久一区二区三区免费丨| 天堂无码久久综合东京热| 亚洲国产日韩欧美综合久久| 久久精品国产69国产精品亚洲| 91精品国产高清91久久久久久| 色综合久久久久久久久五月| 久久国产精品无码HDAV| 久久亚洲欧美日本精品| 久久久久久久亚洲精品 | 久久久噜噜噜久久中文字幕色伊伊| 久久精品国产99久久久香蕉| 久久综合九色综合久99| 久久WWW免费人成一看片| 久久久久亚洲AV无码网站| 久久久精品免费国产四虎| 看全色黄大色大片免费久久久| 久久精品国产乱子伦| 精品久久久无码人妻中文字幕豆芽| 久久亚洲欧美日本精品| 色综合久久天天综线观看| 久久人人爽人人爽人人AV东京热| a高清免费毛片久久| 久久强奷乱码老熟女| 久久午夜伦鲁片免费无码| 9999国产精品欧美久久久久久| 伊人色综合久久天天网| 国产精品久久久福利| 天天综合久久一二三区| 国产∨亚洲V天堂无码久久久| 午夜精品久久影院蜜桃| 精品免费tv久久久久久久| 久久久久久伊人高潮影院| 99久久国产亚洲高清观看2024|