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

            pku1964 City Game 最大1子陣,絕妙的DP

            題意是這樣的(我把題目抽象出來說)
            有一個01矩陣,求這個矩陣中最大子矩陣,并且這個子矩陣里僅僅含有1
            首先還是進行“懸線”表示,arr[i][j]表示為以(i,j)結(jié)尾的最長懸線長度。
            用left[j]表示當前行以arr(i,j)為標準長度的最長左拓展長度,right[j]是右拓展長度,顯然,當前矩形的大小為arr[i][j]*(right[j]-left[j]+1)
            下面就是計算left和right了,這里可以用一維的DP:
            1             left[0]=0;
            2             for(j=1;j<c;j++)
            3                 if(arr[i][j-1]>=arr[i][j]) left[j]=left[j-1];
            4                 else left[j]=j;
            5             right[c-1]=c-1;
            6             for(j=c-2;j>=0;j--)
            7                 if(arr[i][j+1]>=arr[i][j]) right[j]=right[j+1];
            8                 else right[j]=j;
            9 
            完整代碼如下:
             1 Source Code
             2 Problem: 1964        User: yzhw
             3 Memory: 4336K        Time: 375MS
             4 Language: GCC        Result: Accepted
             5 
             6     * Source Code
             7 
             8       # include <stdio.h>
             9       # define max(a,b) ((a)>(b)?(a):(b))
            10       int arr[1005][1005];
            11       int right[1005],left[1005];
            12       int r,c;
            13       int main()
            14       {
            15           int test,i,j;
            16           scanf("%d",&test);
            17           while(test--)
            18           {
            19               scanf("%d%d",&r,&c);
            20               int ans=0;
            21               for(i=0;i<r;i++)
            22               {
            23                   for(j=0;j<c;j++)
            24                   {
            25                       char t[5];
            26                       scanf("%s",t);
            27                       arr[i][j]=(*t=='F'?3:0);
            28                       if(i&&arr[i][j]) arr[i][j]+=arr[i-1][j];
            29                   }
            30                   left[0]=0;
            31                   for(j=1;j<c;j++)
            32                       if(arr[i][j-1]>=arr[i][j]) left[j]=left[j-1];
            33                       else left[j]=j;
            34                   right[c-1]=c-1;
            35                   for(j=c-2;j>=0;j--)
            36                       if(arr[i][j+1]>=arr[i][j]) right[j]=right[j+1];
            37                       else right[j]=j;
            38                   for(j=0;j<c-1;j++)
            39                       ans=max(ans,arr[i][j]*(right[j]-left[j]+1));
            40               }
            41               printf("%d\n",ans);
            42           }
            43           return 0;
            44       }
            45 
            46 


            posted on 2010-10-31 10:30 yzhw 閱讀(157) 評論(0)  編輯 收藏 引用 所屬分類: DP

            <2010年10月>
            262728293012
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            導(dǎo)航

            統(tǒng)計

            公告

            統(tǒng)計系統(tǒng)

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            亚洲精品97久久中文字幕无码| 午夜精品久久久久久久久| 亚洲嫩草影院久久精品| 久久久久久久国产免费看| 午夜天堂精品久久久久| 青青草原综合久久| 久久精品国产亚洲AV香蕉| 青青草原综合久久大伊人精品| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 国产一区二区精品久久岳 | 三上悠亚久久精品| 欧美亚洲另类久久综合婷婷| 久久午夜羞羞影院免费观看| 亚洲精品无码久久久久AV麻豆| 久久精品国产亚洲麻豆| 欧美黑人激情性久久| 色99久久久久高潮综合影院| 久久99国产精一区二区三区| 亚洲精品乱码久久久久66| 欧美麻豆久久久久久中文| 少妇人妻88久久中文字幕| 麻豆久久久9性大片| 久久亚洲国产成人精品无码区| 久久这里只有精品首页| 久久精品国产亚洲av高清漫画| 久久99久久99精品免视看动漫 | 久久久久久久女国产乱让韩| 久久人人爽人爽人人爽av| 国产AⅤ精品一区二区三区久久| 精品国产VA久久久久久久冰 | 久久中文字幕人妻丝袜| 色99久久久久高潮综合影院| 久久久WWW免费人成精品| 久久无码国产| 久久免费视频6| 久久午夜免费视频| 久久综合久久美利坚合众国| 久久综合给合久久狠狠狠97色| 香蕉久久夜色精品升级完成| 久久久久亚洲Av无码专| 国产亚洲综合久久系列|