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

            oyjpArt ACM/ICPC算法程序設(shè)計空間

            // I am new in programming, welcome to my blog
            I am oyjpart(alpc12, 四城)
            posts - 224, comments - 694, trackbacks - 0, articles - 6

            SRM406 PTS500 FoldThePaper

            Posted on 2008-06-18 11:29 oyjpart 閱讀(1553) 評論(0)  編輯 收藏 引用 所屬分類: ACM/ICPC或其他比賽程序設(shè)計

            Problem Statement

                 You have a rectangular piece of paper that's divided into 1x1 cells, each of which has an integer value. The paper will be described by a vector <string> paper. The ith element of paper will be a space delimited list of integers, where the jth integer of the ith element of paper represents the value of the jth cell of the ith row of the paper.



            You want to perform a sequence of folds on the paper, where you may fold anywhere along an axis that is in between two rows or columns of the paper. After performing a fold, we wish to model the folded paper as a new, flat piece of paper. We will do this by considering two overlapping cells as a single cell, with a value that is the sum of the individual cells.



            You wish to perform a sequence of folds such that the value of some single cell in the resulting piece of paper is as large as possible. Return this value.

            Definition

                
            Class: FoldThePaper
            Method: getValue
            Parameters: vector <string>
            Returns: int
            Method signature: int getValue(vector <string> paper)
            (be sure your method is public)
                

            Constraints

            - paper will contain between 1 and 12 elements, inclusive.
            - Each element of paper will be a single-space delimited list of integers with no leading or trailing spaces.
            - Each element of paper will contain between 1 and 12 integers, inclusive.
            - Each element of paper will contain the same number of integers.
            - Each element of paper will contain between 1 and 50 characters, inclusive.
            - Each integer in paper will be between -100 and 100, inclusive.
            - Each integer in paper will have no leading zeros.
            - An integer in paper equal to zero will not have a preceding negative sign.

            Examples

            0)
                
            {
            "1 1 1",
            "1 1 1"
            }
            Returns: 6
            We can collapse every cell onto the upper-left cell.
            1)
                
            {
            "1 -1",
            "1 -1"
            }
            Returns: 2
            We should perform only the fold between the two rows, and take the resulting left column.
            2)
                
            {
            "1 -1 -1 1",
            "-1 -1 -1 -1",
            "-1 -1 -1 -1",
            "1 -1 -1 1"
            }
            Returns: 4
            Folding between the middle rows then the middle columns allows us to combine the four corner cells.
            3)
                
            {
            "20 13 -2 100",
            "-12 0 4 -3",
            "4 1 -36 21"
            }
            Returns: 131

            4)
                
            {
            "0"
            }
            Returns: 0

            This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2003, TopCoder, Inc. All rights reserved.


            題目大意是有一個12*12的矩陣,現(xiàn)在可以對這個矩陣橫向或縱向折疊,出在重疊位置的數(shù)相加。
            求折疊過程中任意位置產(chǎn)生的最大數(shù)。

            很多大牛fail了,我一個DFS+剪枝也超時了,一共32人pass sys test,1000pts無人ac,此套題難度還是很大的。

            基本思路是狀態(tài)壓縮DP,橫向(1<<12)*縱向(1<<12)*加和。

            但是這樣會超時。關(guān)鍵是沒有利用到折疊的信息。

            預(yù)先生成某個位置的狀態(tài)(由那些位置疊加而來),就可以減少檢查量,就可以ac了。

            如何生成這些狀態(tài)呢?沒錯,又是一個DP. 呵呵。


            国产三级久久久精品麻豆三级| 久久精品视屏| 欧美成人免费观看久久| 久久久久亚洲精品无码网址| 久久久久久久综合日本亚洲| 青青国产成人久久91网| 狠狠狠色丁香婷婷综合久久五月| 久久精品国产第一区二区三区| 久久久久成人精品无码中文字幕| 欧美大香线蕉线伊人久久| 男女久久久国产一区二区三区| 香蕉久久夜色精品升级完成| 久久精品毛片免费观看| 99久久久精品| 久久精品人妻一区二区三区| 国产精品乱码久久久久久软件| 久久天天躁狠狠躁夜夜avapp| 无码AV波多野结衣久久| www亚洲欲色成人久久精品| 久久无码一区二区三区少妇 | 国产精品久久毛片完整版| 久久精品人人做人人爽97| 国产L精品国产亚洲区久久| 亚洲国产成人久久笫一页| 亚洲精品tv久久久久久久久| 欧美久久精品一级c片片| 人妻少妇精品久久| 嫩草伊人久久精品少妇AV| 精品99久久aaa一级毛片| 久久人人爽人人爽人人片AV不| 久久99国产精品尤物| 天天影视色香欲综合久久| 性做久久久久久久| 久久国产视频99电影| 中文字幕人妻色偷偷久久 | 精品久久人人做人人爽综合| 色老头网站久久网| 99久久精品九九亚洲精品| 久久久女人与动物群交毛片 | 久久国产综合精品五月天| 亚洲va国产va天堂va久久|