• <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>
            隨筆 - 87  文章 - 279  trackbacks - 0
            <2006年6月>
            28293031123
            45678910
            11121314151617
            18192021222324
            2526272829301
            2345678

            潛心看書研究!

            常用鏈接

            留言簿(19)

            隨筆分類(81)

            文章分類(89)

            相冊

            ACM OJ

            My friends

            搜索

            •  

            積分與排名

            • 積分 - 217857
            • 排名 - 117

            最新評論

            閱讀排行榜

            評論排行榜

            PKU 3093 Margaritas on the River Walk
                    先對輸入的數(shù)組排序,然后類似于01對a[i]做決策,核心代碼加了注釋:
                     for (i=1; i<=n; i++) {
                             for (j=1; j<=maxsum; j++) {
                                    if (j >= sum[i]) d[i][j] = 1; //j比sum[i]大,肯定這時候d[i][j]=1;
                                    else {
                                            d[i][j] = d[i-1][j];//不考慮a[i]
                                            if (j-a[i]>=0) {//考慮a[i]
                                                     if (d[i-1][j-a[i]] > 0) d[i][j] += d[i-1][j-a[i]];//把a(bǔ)[i]加進(jìn)以前的選擇里面
                                                     else d[i][j]++;//a[i]單獨作為一個選擇(這里需要先對a[i]排序,消除后效性)
                                           }
                                    }
                             }
                     }

            PKU 1037 A decorative fence
                    先dp算出以i為起點的序列的個數(shù),再組合數(shù)學(xué)
                    td[n][i]和tu[n][i]分別表示個數(shù)為n,以i開始的上升和下降的序列個數(shù)
                    易知:
                    td[n][1] = 0;
                    td[n][i] = sigma(tu[n-1][j], j從1..i-1)  = td[n][i-1] + tu[n-1][i-1] ;
                    tu[n][i]  = td[n][n+i-1];

            PKU 2677 Tour
                    雙調(diào)歐幾里德旅行商問題(明顯階段dp)
                    動態(tài)規(guī)劃方程 :d[i+1][i] = mint(d[i+1][i], d[i][j]+g[j][i+1]); 
                                                  d[i+1][j] = mint(d[i+1][j], d[i][j]+g[i][i+1]);
                                                   0<=j<i   

            PKU 2288 Islands and Bridges
                    集合DP
                    狀態(tài)表示: d[i][j][k] (i為13為二進(jìn)制表示點的狀態(tài), j為當(dāng)前節(jié)點, k為到達(dá)j的前驅(qū)節(jié)點)

            posted on 2007-04-20 18:10 閱讀(2127) 評論(5)  編輯 收藏 引用 所屬分類: 算法&ACM

            FeedBack:
            # re: 對一些DP題目的小結(jié) 2007-04-22 08:56 byron
            豪大牛,問一下,這是一些題目嗎????  回復(fù)  更多評論
              
            # re: 對一些DP題目的小結(jié) 2007-04-24 00:52 
            @byron
            是pku上的題目,我菜菜啊。。。  回復(fù)  更多評論
              
            # re: 對一些DP題目的小結(jié) 2007-04-26 18:59 oyjpart
            呵呵 就聊上了啊 :)  回復(fù)  更多評論
              
            # re: 對一些DP題目的小結(jié) 2007-06-30 22:55 姜雨生
            Margaritas on the River Walk
            Time Limit:1000MS Memory Limit:65536K
            Total Submit:309 Accepted:132

            Description


            One of the more popular activities in San Antonio is to enjoy margaritas in the park along the river know as the River Walk. Margaritas may be purchased at many establishments along the River Walk from fancy hotels to Joe’s Taco and Margarita stand. (The problem is not to find out how Joe got a liquor license. That involves Texas politics and thus is much too difficult for an ACM contest problem.) The prices of the margaritas vary depending on the amount and quality of the ingredients and the ambience of the establishment. You have allocated a certain amount of money to sampling different margaritas.

            Given the price of a single margarita (including applicable taxes and gratuities) at each of the various establishments and the amount allocated to sampling the margaritas, find out how many different maximal combinations, choosing at most one margarita from each establishment, you can purchase. A valid combination must have a total price no more than the allocated amount and the unused amount (allocated amount – total price) must be less than the price of any establishment that was not selected. (Otherwise you could add that establishment to the combination.)

            For example, suppose you have $25 to spend and the prices (whole dollar amounts) are:

            Vendor A B C D H J
            Price 8 9 8 7 16 5

            Then possible combinations (with their prices) are:

            ABC(25), ABD(24), ABJ(22), ACD(23), ACJ(21), ADJ( 20), AH(24), BCD(24), BCJ(22), BDJ(21), BH(25), CDJ(20), CH(24), DH(23) and HJ(21).

            Thus the total number of combinations is 15.


            Input


            The input begins with a line containing an integer value specifying the number of datasets that follow, N (1 ≤ N ≤ 1000). Each dataset starts with a line containing two integer values V and D representing the number of vendors (1 ≤ V ≤ 30) and the dollar amount to spend (1 ≤ D ≤ 1000) respectively. The two values will be separated by one or more spaces. The remainder of each dataset consists of one or more lines, each containing one or more integer values representing the cost of a margarita for each vendor. There will be a total of V cost values specified. The cost of a margarita is always at least one (1). Input values will be chosen so the result will fit in a 32 bit unsigned integer.


            Output


            For each problem instance, the output will be a single line containing the dataset number, followed by a single space and then the number of combinations for that problem instance.


            Sample Input


            2
            6 25
            8 9 8 7 16 5
            30 250
            1 2 3 4 5 6 7 8 9 10 11
            12 13 14 15 16 17 18 19 20
            21 22 23 24 25 26 27 28 29 30

            Sample Output


            1 15
            2 16509438

            Hint


            Note: Some solution methods for this problem may be exponential in the number of vendors. For these methods, the time limit may be exceeded on problem instances with a large number of vendors such as the second example below.


            Source
            Greater New York 2006
              回復(fù)  更多評論
              
            # re: 對一些DP題目的小結(jié) 2007-06-30 22:59 姜雨生
            應(yīng)該可以更加優(yōu)化  回復(fù)  更多評論
              
            日本国产精品久久| 久久婷婷五月综合国产尤物app| 亚洲AV伊人久久青青草原| 久久九九有精品国产23百花影院| 久久精品黄AA片一区二区三区| 中文字幕人妻色偷偷久久| 国内精品九九久久精品 | 久久久久高潮毛片免费全部播放| 久久99国产精品久久99小说| 老男人久久青草av高清| 中文字幕人妻色偷偷久久| 久久综合综合久久综合| 久久久久久亚洲Av无码精品专口| 久久er99热精品一区二区| 国产精品禁18久久久夂久| 国产亚洲色婷婷久久99精品| 久久夜色精品国产亚洲| 久久影视综合亚洲| 久久人人爽人人爽人人av东京热| 久久婷婷五月综合色奶水99啪| 韩国三级大全久久网站| 欧美粉嫩小泬久久久久久久 | 97精品伊人久久大香线蕉| 久久精品国产亚洲αv忘忧草| 国产情侣久久久久aⅴ免费| 狠狠人妻久久久久久综合| 日本五月天婷久久网站| 精品无码久久久久久尤物| 久久艹国产| 欧洲人妻丰满av无码久久不卡| 午夜不卡888久久| 国内精品综合久久久40p| 精品久久久久久国产免费了| 亚洲国产另类久久久精品小说| 国产高潮久久免费观看| 亚洲国产精品无码久久| 四虎久久影院| 国产日韩久久免费影院| 久久精品国产亚洲av影院| 一本色道久久88综合日韩精品 | 久久久人妻精品无码一区|