• <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 閱讀(322) 評論(0)  編輯 收藏 引用 所屬分類: 動態規劃轉載
            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            常用鏈接

            留言簿(3)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            友情鏈接

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            国产精品一区二区久久国产| 亚洲第一极品精品无码久久| 99久久精品国产一区二区| 国产精品成人99久久久久| 伊人色综合九久久天天蜜桃| 老男人久久青草av高清| 久久综合国产乱子伦精品免费| 国产人久久人人人人爽| 久久久网中文字幕| 久久一日本道色综合久久| 精品99久久aaa一级毛片| 伊人久久综合成人网| 狠狠久久综合| 国产综合久久久久| 久久人人爽人人爽人人片AV高清| 狠狠色婷婷久久一区二区三区| 久久影院午夜理论片无码| 久久精品夜夜夜夜夜久久| 中文精品久久久久人妻| 久久99国产精品久久| 亚洲精品无码久久千人斩| 久久精品国产第一区二区| 成人国内精品久久久久影院| 无码任你躁久久久久久老妇App| 久久亚洲精品中文字幕三区| 亚洲成色WWW久久网站| 久久午夜夜伦鲁鲁片免费无码影视| 国产农村妇女毛片精品久久| 免费观看久久精彩视频| 久久99国产综合精品女同| 亚洲精品无码久久一线| 狠狠综合久久AV一区二区三区| 久久久久亚洲AV综合波多野结衣| 久久综合久久久| 99热热久久这里只有精品68| 久久电影网2021| 久久国产精品国产自线拍免费| 91精品国产乱码久久久久久| 亚洲成色www久久网站夜月| 无码人妻久久一区二区三区免费| 伊人久久大香线蕉综合Av|