• <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算法程序設計空間

            // 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 閱讀(1560) 評論(0)  編輯 收藏 引用 所屬分類: ACM/ICPC或其他比賽程序設計

            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的矩陣,現在可以對這個矩陣橫向或縱向折疊,出在重疊位置的數相加。
            求折疊過程中任意位置產生的最大數。

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

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

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

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

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


            97久久超碰国产精品2021| 激情五月综合综合久久69| 久久99久国产麻精品66| 欧美精品久久久久久久自慰| 久久综合香蕉国产蜜臀AV| 色综合久久中文综合网| 亚洲国产日韩欧美久久| 欧美黑人又粗又大久久久| 久久成人18免费网站| 热99RE久久精品这里都是精品免费| 99久久精品午夜一区二区| 无码8090精品久久一区| 久久er热视频在这里精品| 欧美精品乱码99久久蜜桃| 99久久99久久精品国产片果冻| 欧美精品乱码99久久蜜桃| 精品人妻伦一二三区久久| 久久精品国产亚洲av水果派 | 色综合久久中文综合网| 久久久久久久免费视频| 国产精品热久久无码av| 久久综合狠狠综合久久| 欧美日韩精品久久免费| 久久人人爽人人爽人人片AV麻豆| 久久婷婷五月综合色奶水99啪| 色99久久久久高潮综合影院| 国内精品伊人久久久久影院对白| 国产精品99精品久久免费| 久久久噜噜噜www成人网| 精品一二三区久久aaa片| 青青久久精品国产免费看| 品成人欧美大片久久国产欧美... 品成人欧美大片久久国产欧美 | 精品久久久久久国产91| 亚洲AV无码久久| 精品久久久久久国产| 一本色道久久综合亚洲精品| 久久香综合精品久久伊人| 久久精品国产99国产精品导航| 91麻豆国产精品91久久久| 久久久久久伊人高潮影院 | 久久免费视频观看|