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

                 摘要: 經典的狀態壓縮DP。f[i][j]表示第i行,方格排布為二進制數j(第k位上為1表示凸出一個格子,為0表示不凸出)的方案數。用DFS進行狀態轉移。
            如果行數比較多的話,可以用矩陣乘法優化。因為每行的狀態轉移都是相同的。設烈數為m,行數為n,可以做到O(2^(3m)logn)。

              閱讀全文
            posted @ 2007-08-28 21:03 Felicia 閱讀(1428) | 評論 (12)編輯 收藏
             
                 摘要: 經典的TSP問題變種。狀態為f[i][j][k],表示經過二進制數i所指的哈密頓路(第bi位為1表示經過該點,為0表示不經過該點),倒數第二個點為j,最后一個點為k。.value表示最大權值,.num表示能走出最大權值的路徑數。若圖中k到p有邊,f[i][j][k]則轉移到f[i'][k][p]。i' == i | (1 << p)。

              閱讀全文
            posted @ 2007-08-28 20:47 Felicia 閱讀(839) | 評論 (2)編輯 收藏
             
                 摘要:

              閱讀全文
            posted @ 2007-08-27 22:20 Felicia 閱讀(123) | 評論 (0)編輯 收藏
             
                 摘要: int f[i][j]表示第i個字符到第j個字符需要添加的最少括號數。string ans[i][j] 表示第i個字符到第j個字符按照最優方案添加括號后的串。狀態轉移:1.f[i][j]由f[i + 1][j - 1]轉移來(通過兩端添括號() / [] )。2.f[i][j]由f[i][k] + f[k + 1][j]轉移來(通過串合并)。答案是ans[0][len - 1]。

              閱讀全文
            posted @ 2007-08-27 15:55 Felicia 閱讀(1247) | 評論 (3)編輯 收藏
             
                 摘要: 枚舉矩形的上邊和下邊,花費O(n^2),把問題轉化成一維的最大M子段和,做一個O(n)的DP。
              閱讀全文
            posted @ 2007-08-26 13:51 Felicia 閱讀(1029) | 評論 (6)編輯 收藏
             
                 摘要: pku 部分動態規劃題目列表

              閱讀全文
            posted @ 2007-08-26 11:52 Felicia 閱讀(6602) | 評論 (5)編輯 收藏
             
                 摘要: 題目給出 n 個矩形,要求它們的面積并。具體做法是離散化。先把 2n 個 x 坐標排序去重,然后再把所有水平線段(要記錄是矩形上邊還是下邊)按 y 坐標排序。最后對于每一小段區間 (x[i], x[i + 1]) 掃描所有的水平線段,求出這些水平線段在小區間內覆蓋的面積。總的時間復雜度是 O(n^2)。利用線段樹,可以優化到 O(nlogn)。

              閱讀全文
            posted @ 2007-08-25 17:53 Felicia 閱讀(444) | 評論 (0)編輯 收藏
             
                 摘要: 求多邊形的核。用半平面交算法。

              閱讀全文
            posted @ 2007-08-25 15:56 Felicia 閱讀(665) | 評論 (4)編輯 收藏
             
                 摘要: 強烈推薦此題!
            先考察一下這個問題的性質。
            性質1:任何一個圓都覆蓋了一個閉區域。
            性質2:對于任意一個點,覆蓋它的最上面的那個圓,一定是可見的。
            性質3:如果一個圓不可見(它被完全覆蓋),那么它的邊界是被完全覆蓋的。
            性質4:n個圓最多有2(n-1)^2個交點,這些交點把n個圓分成最多2(n-1)^2條小圓弧。
            性質5:對于每個小圓弧,要么它全被覆蓋,要么它全不被覆蓋。
            根據性質1和性質2,問題轉化為恰當地找出一些點,對于每個點,把覆蓋它的最上面的圓標記為可見。
            根據性質3,這些點一定在所有圓的邊界集合內。
            根據性質5,所有小圓弧構成邊界集合。每個小圓弧上只要任意取一個點就能代表整個小圓弧(邊界)。不妨取中點。
            至此得到算法:取所有小圓弧的中點,對每個點找到覆蓋它的最上面的圓。
            根據性質4,最多取2(n-1)^2個點。對每個點找到覆蓋它的最上面的圓,需要O(n)次運算。總復雜度是O(n^3)。

              閱讀全文
            posted @ 2007-08-24 22:43 Felicia 閱讀(571) | 評論 (2)編輯 收藏
             
                 摘要: Bless GCC!

              閱讀全文
            posted @ 2007-08-22 12:07 Felicia 閱讀(207) | 評論 (3)編輯 收藏
            僅列出標題
            共15頁: First 7 8 9 10 11 12 13 14 15 
             
            日韩一区二区久久久久久| 国产精品日韩深夜福利久久| 亚洲欧洲日产国码无码久久99| 精品久久亚洲中文无码| 久久久免费精品re6| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 久久精品中文字幕一区| 国产精品久久久久影视不卡| 色综合合久久天天给综看| 久久www免费人成看片| 91精品婷婷国产综合久久| 伊人久久大香线蕉综合网站| 久久99国产精品久久久| 午夜精品久久久久成人| 国产精品久久网| 久久伊人五月丁香狠狠色| AA级片免费看视频久久| 久久久午夜精品| 久久久WWW成人免费精品| 久久婷婷五月综合97色| 亚洲国产成人精品91久久久| 国产精品久久99| 久久人人爽人人爽人人AV| 亚洲?V乱码久久精品蜜桃| 久久精品一区二区国产| 欧美va久久久噜噜噜久久| 综合久久精品色| 久久久久亚洲AV成人网人人软件| 国内精品伊人久久久久av一坑| 亚洲欧洲久久久精品| 亚洲国产精品无码久久青草 | 99久久精品无码一区二区毛片 | 亚洲人成电影网站久久| 久久久久亚洲av成人无码电影| 久久亚洲欧美日本精品| 青青青国产成人久久111网站| 国内精品人妻无码久久久影院导航| 欧美国产精品久久高清| 久久久久久亚洲精品无码| 久久久久无码精品国产app| 久久久久人妻一区精品|