• <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 閱讀(318) 評論(0)  編輯 收藏 引用 所屬分類: 動態規劃轉載
            <2012年6月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            1234567

            常用鏈接

            留言簿(3)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            友情鏈接

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            日韩久久久久中文字幕人妻| 国产午夜福利精品久久2021| 久久亚洲中文字幕精品一区| 亚洲国产精品无码久久青草| 亚洲精品无码久久久久sm| 亚洲中文字幕无码久久精品1 | 无码久久精品国产亚洲Av影片| 色欲av伊人久久大香线蕉影院| 久久精品aⅴ无码中文字字幕不卡| 久久精品国产亚洲AV香蕉| 久久精品国产一区二区三区不卡 | 精品久久久久中文字| 亚洲国产一成久久精品国产成人综合 | 久久精品国产亚洲av麻豆蜜芽| 久久综合给合久久狠狠狠97色| 国产精品无码久久综合网| 精品久久久中文字幕人妻| 久久久国产一区二区三区| 亚洲精品美女久久777777| 久久国产一片免费观看| 久久精品一本到99热免费| 亚洲欧美精品一区久久中文字幕 | 精品久久人妻av中文字幕| 亚洲国产成人久久综合区| 91久久香蕉国产熟女线看| 国产产无码乱码精品久久鸭| 久久人人爽人人爽人人av东京热| 国产69精品久久久久9999| www久久久天天com| 久久天堂AV综合合色蜜桃网| 2021国内精品久久久久久影院| 久久久久久亚洲精品无码| 亚洲国产精品一区二区久久| 国产三级久久久精品麻豆三级| 久久亚洲AV成人无码软件| 亚洲精品国产自在久久| 性欧美大战久久久久久久| 久久久噜噜噜久久| 中文字幕精品久久久久人妻| 一本大道久久香蕉成人网| 久久精品aⅴ无码中文字字幕不卡|