• <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>
            posts - 195,  comments - 30,  trackbacks - 0
            [原創]POJ1050 To the Max 解題報告
            2006-04-17 11:55
            題目大意:

            讀入一個n*n的數組,比如 

            0 -2 -7 0 

            9 2 -6 2 

            -4 1 -4 1 

            -1 8 0 -2  

            從里面任意截取一個矩陣,使得矩陣所包含的數字的和最大.

            截取出來的矩陣,和為15

            9 2 

            -4 1 

            -1 8 

            ---------------------------------------------------------

            POJ 1050 我的解題報告:

            這個題目很經典的說,O(N^3)的DP。

            首先偶們考察這樣的題目,簡化版:

            已知一列數,求任意連續若干個數和的最大值。

            SAMPLE: 3 2 -6 2 -1 7

            原數3        2      -6       2      -1       7 

            處理3        5      -1       2       1       8

            因為是連續若干個自然數的和,那么,前面的某個數字取與不取的條件在于:以前面這個數字為結尾的連續數的和最大值是否大于0,如果大于0,那么這個數字必然要會出現在包括數字的序列中,否則無法做到最大。

            所以,顯然。處理的原則是maxn[i]=max{0,maxn[i-1]}+a[i];

            由于無須記錄位置。所以,可以直接用一個變量sum代替maxn數組。O(n)的掃描即可。

            單列數字的問題解決了,下面我們考察多列數字的

            sample:

                     0    -2    -7    0 

                     9     2    -6    2 

                    -4     1    -4    1 

                    -1     8     0   -2 



            我們可以將多列數字轉換成單列數字來做! 可以這樣設想,結果是一個長方形,我們把他壓扁,使得寬為1。

            引入輔助數組st,st[i][j]代表第i列從第1行開始的數字累加到第j行的值。那么,我們每次壓扁的時候,就可以用st[i][j]-st[i][k-1]來表示第i列從第k個數字累加到第j個數字的值。達到壓縮的效果。然后用上面單列數字的方法來做。算法時間復雜度O (N^3)

            Source



            Problem Id:1050  User Id:galaxy 

            Memory:112K  Time:0MS

            Language:G++  Result:Accepted



            /*

              Name:POJ 1050 

              Copyright: flymouse@galaxy                                         

              Author:chenlei

              Date: 15-02-06 07:36

              Description: DP O(N^3)

            */

            #include <stdio.h>

            #include <string.h>

            #define mt 101

            int main()

            {

            int a[mt][mt];

            int st[mt][mt];

            int p,k,n,i,j,sum,maxn;

            //freopen("in.txt","r",stdin);

            scanf("%d",&n);

            for (i=1;i<=n;i++)

            for (j=1;j<=n;j++)

            scanf("%d",&a[i][j]);

            memset(st,0,sizeof(st));

            for (i=1;i<=n;i++)

               for (j=1;j<=n;j++)

              st[i][j]=st[i][j-1]+a[j][i];

              maxn=0;

               for (i=1;i<=n;i++)

               {

            for (j=i;j<=n;j++)

            {

            p=st[1][j]-st[1][i-1];

            sum=p;

            for (k=2;k<=n;k++)

            {

            if (sum>0)

            sum+=st[k][j]-st[k][i-1];

            else sum=st[k][j]-st[k][i-1];

            if (sum>p) p=sum;

            }

            if (p>maxn) maxn=p;

            }

               }

               printf("%d\n",maxn);

               return 0;
            原文地址:http://hi.baidu.com/flymouse/blog/item/fd1378f05c7ff7c37931aac3.html
            posted on 2009-07-09 18:37 luis 閱讀(330) 評論(0)  編輯 收藏 引用 所屬分類: 動態規劃轉載
            <2009年7月>
            2829301234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            常用鏈接

            留言簿(3)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            友情鏈接

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            色婷婷综合久久久久中文一区二区| 国产精品久久久久久久久久影院| 精品久久香蕉国产线看观看亚洲| 久久91综合国产91久久精品| 精品久久久久久无码人妻热 | 精品久久人妻av中文字幕| 久久精品国产99国产精偷| 久久影视综合亚洲| 久久亚洲日韩看片无码| 91精品国产91久久久久久蜜臀| 一本一本久久a久久精品综合麻豆| 国产精品毛片久久久久久久 | 国产精品永久久久久久久久久| 精品无码久久久久国产动漫3d| 99久久99久久精品国产片| 无码国内精品久久人妻| 亚洲AV伊人久久青青草原| 青青草原综合久久| 国产精品久久久久9999高清| 亚洲日本va中文字幕久久| 久久人人爽人人澡人人高潮AV| 国产精品久久久久久搜索| 久久综合久久自在自线精品自| 欧美麻豆久久久久久中文| 国产2021久久精品| 香港aa三级久久三级| 久久er国产精品免费观看2| 国产V综合V亚洲欧美久久| 日本欧美久久久久免费播放网| 精品综合久久久久久97| 久久精品国产2020| 久久精品人人做人人爽电影| 亚洲色欲久久久久综合网| 久久国产AVJUST麻豆| 亚洲国产综合久久天堂| 久久久久亚洲精品无码网址| 一97日本道伊人久久综合影院| 亚洲精品NV久久久久久久久久| 人妻中文久久久久| 久久这里的只有是精品23| 99精品国产99久久久久久97|