• <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)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            友情鏈接

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            欧洲性大片xxxxx久久久| 久久久久久久久波多野高潮| 国内精品久久久久影院优| av无码久久久久久不卡网站| 成人精品一区二区久久| 欧美激情一区二区久久久| 精品免费久久久久久久| 亚洲午夜福利精品久久| 九九久久自然熟的香蕉图片| 色播久久人人爽人人爽人人片aV | 亚洲国产精品一区二区三区久久| 久久人人爽人人人人片av| 久久免费线看线看| 东方aⅴ免费观看久久av| 一本久久久久久久| 国产精品久久久久国产A级| 亚洲а∨天堂久久精品9966| 伊人色综合久久天天| 久久精品国产99久久久| 日韩人妻无码一区二区三区久久99| 99久久国产综合精品五月天喷水 | 漂亮人妻被黑人久久精品| 久久se这里只有精品| 久久99精品国产99久久6男男| 7777精品久久久大香线蕉| 欧美与黑人午夜性猛交久久久| 国产精品内射久久久久欢欢| 潮喷大喷水系列无码久久精品| 少妇精品久久久一区二区三区| 7777精品伊人久久久大香线蕉| 亚洲精品成人久久久| 久久久久久久亚洲精品| 久久精品视频91| 久久久久久国产a免费观看不卡| 狠狠色综合网站久久久久久久| 热久久这里只有精品| 国产激情久久久久影院小草 | 久久人搡人人玩人妻精品首页| 久久国产美女免费观看精品| 久久久WWW成人| 日产精品久久久久久久|