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

            The Way of C++

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              55 Posts :: 0 Stories :: 19 Comments :: 0 Trackbacks

            公告

            The first time i use this blog, i will write something that i learn which i think is worth write down.

            常用鏈接

            留言簿(3)

            我參與的團隊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            本來在google doc上編輯的,但反應很慢,只好搬來這里了

            轉貼 ACM的算法(覺得很好,有層次感)
            OJ上的一些水題(可用來練手和增加自信)  
            (poj3299*,    poj2159*,     poj2739*    ,poj1083*    ,poj2262*    ,poj1503* (高精度,前導零),poj3006*(素數,暴力),poj2255*(遞歸),  
            poj3094*)  
             
             
            初期:  
            一.基本算法:   
                 (1)枚舉. (poj1753*(bfs)    ,poj2965*(推論||bfs) )  
                 (2)貪心(poj1328*(區間段),    poj2109*(long double)    ,poj2586*(分情況討論)  
                 (3)遞歸和分治法.   
                 (4)遞推.   
                 (5)構造法.(poj3295*(棧)  
                 (6)模擬法.(poj1068*    ,poj2632*    ,poj1573*    ,poj2993,poj2996)  
            二.圖算法:   
                 (1)圖的深度優先遍歷和廣度優先遍歷.   
                 (2)最短路徑算法(heap+dijkstra,dijkstra,bellman-ford,floyd,)   
                     poj1860
                     poj3259*(bellman-ford 換了種描述而已)
                     poj1062*(枚舉m種等級即可,每種求最短路)
                     poj2253*(dijkstra思想)
                     poj1125*
                     poj2240*(floyd)
                     poj 3013 #(dijkstra+heap實現的最小優先隊列+鄰接表)   )  
                 (3)最小生成樹算法(prim,kruskal)  
                    (poj1789*,    poj2485*(prim最大邊),    poj1258*(prime),    poj3026 ,poj 1251*,poj 1861*(生成樹的最大邊) )  
                 (4)拓撲排序
                      poj1094 #(深搜,以結點訪問結束時間降序確定拓撲順序)
                 (5)二分圖的最大匹配 (匈牙利算法) (poj3041*(行列匹配),poj3020)  
                 (6)最大流的增廣路算法(KM算法). (poj3436,   poj 1273 #(基礎,使用edmonds-karp算法) ,poj 1459 # (基礎構圖),poj 1149 # (經典構圖) ) 
            三.數據結構.   
                 (1)串 (poj1035*(brute force)    ,poj3080*(brute force c string函數使用)    ,poj1936)  
                 (2)排序(快排、歸并排(與逆序數有關)、堆排) (poj2388*(qsort),poj2299*(歸并))  
                 (3)簡單并查集的應用.  2492*(設置每個蟲的一個異性蟲) ,1182 #(通過設置與結點的相對關系來實現,要仔細推導), 1988 #( 通過設置輔助數組保存結果值,并在查找過程中進行更新)
                 (4)哈希表和二分查找等高效查找法(數的Hash,串的Hash)     
                    (poj3349*(復雜度超高,不用STL寫cmp更快),poj3274,POJ2151,    poj1840*#(hash# || bsearch)    ,poj2002#(hash,hash表保存點信息,枚舉兩兩點對,查找另外兩點是否存在,也可使用二分查找,二分效率比較低),    poj2503*(經典題目)    ,poj 2513,poj2418#(用二叉查找樹插入,插入時如果找到相同時則記錄數加一,否則作為新的結點插入,最后用中序遍歷輸出) )  
                 (5)哈夫曼樹(poj3253 *(use stl priority_queue and __int64)  
                 (6)堆(poj 2442 #,每次對兩個序列用堆在o(nlogn)時間內求出前n個最小的數,然后這個作為新的序列與后面的輸入序列作重復處理,實現取前n個數我的方法由于可能取到重復值,所以加了一個哈希表并于判重,  poj 2051 #(跟有序鏈表的K路歸并一樣,可參照CLRS) )
                 (7)trie樹(靜態建樹、動態建樹) (poj2513*(并查集+trie+歐拉圖) poj 3630(用一個結點數組靜態模擬動態建樹)
            四.簡單搜索   
                 (1)深度優先搜索 (poj2488*(遞歸),    poj3083,    poj3009*(dfs剪枝),    poj1321*(dfs),    poj2251*(bfs))  
                 (2)廣度優先搜索(poj3278*(bfs 使用set存儲已訪問結點使用find函數NlogN),    poj1426,    poj3126*( ),    poj3087*(每次只有一個分支的搜索).poj3414*(BFS打印路徑)  
                 (3)簡單搜索技巧和剪枝(poj2531*(bfs+重復狀態剪枝,另可以隨機化算法,動態規劃(還沒試過) ),    poj1416*(bfs+簡單剪枝),    poj2676,1129)  
            五.動態規劃   
                 (1)背包問題. (poj1837,poj1276)  
                 (2)型如下表的簡單DP(可參考lrj的書 page149):   
                   1.E[j]=opt{D+w(i,j)} (poj3267,poj1836,poj1260,poj2533)  
             
                   2.E[i,j]=opt{D[i-1,j]+xi,D[i,j-1]+yj,D[i-1][j-1]+zij} (最長公共子序列)  
             
                 
                     (poj3176,poj1080,poj1159)  
                   3.C[i,j]=w[i,j]+opt{C[i,k-1]+C[k,j]}.(最優二分檢索樹問題)   
            六.數學   
                 (1)組合數學:   
                    1.加法原理和乘法原理.   
                    2.排列組合.   
                    3.遞推關系.   
                      (POJ3252,poj1850*(組合公式),poj1019*(等差數列),poj1942*(組合,T數)  
                 (2)數論.   
                    1.素數與整除問題   
                    2.進制位.   
                    3.同余模運算.  
                      (poj2635*(大整數模), poj3292,poj1845,poj2115)  
                 (3)計算方法.   
                    1.二分法求解單調函數相關知識.(poj3273*(),    poj3258*,    poj1905*(),    poj3122*()) (數值計算的....)
            七.計算幾何學.   
                 (1)幾何公式.  
                 (2)叉積和點積的運用(如線段相交的判定,點到線段的距離等). (poj2031*(最小生成樹),poj1039)
             
             
                 (3)多邊型的簡單算法(求面積)和相關判定(點在多邊型內,多邊型是否相交)   
                     (poj1408*(求四邊形面積),    poj1584)  
                 (4)凸包.  (poj2187*(求法,排序使用堆排,或快排) poj1113*())  
             
            *****************************************************************************
             
            中級:  
            一.基本算法:   
                 (1)C++的標準模版庫的應用. (poj3096*,    poj3007)  
                 (2)較為復雜的模擬題的訓練(poj3393,poj1472,poj3371,poj1027,poj2706)  
            二.圖算法:   
                 (1)差分約束系統的建立和求解. (poj1201,poj2983,poj1364*)  
                 (2)最小費用最大流(poj2516,poj2195)  
                 (3)雙連通分量(poj2942 ,poj 3177)  
                 (4)強連通分支及其縮點.(poj 2762*(單向連通圖判斷 1983ms ,該怎么優化),poj 2553* ,poj 1236*,) 
                     poj 2186 #(使用trajan求強連通分量,并將每個分量縮成一點形成新的圖,最后求出度為0的縮點的個數,如果大于等于2個,則結果為0,否則對應
                                       分量的原結點個數)
                 (5)圖的割邊和割點( poj 3177) 
                     poj 1523 #(每次搜到一個割點i,令tag[i]++,最后輸出割點i,連通區域的個數為tag[i]+1,并不需要每次對圖進行搜索求連通區域數量)
                     poj 3352 #(先找出橋,去掉橋將其余的連通分支縮成點,再把橋加到縮點圖上形成一棵樹,求出度數為1的點即葉子結點的數目ret,結果為(ret+1)/2)
                 (6)最小割模型、網絡流規約(poj3308, )  
            三.數據結構.   
                 (1)線段樹. (poj2528,poj2828,    poj2777*,    poj2886,poj2750,poj2985)  
                 (2)靜態二叉檢索樹. (poj2482,poj2352)  
                 (3)樹狀樹組(poj1195*(二級樹狀,作簡單運算),        poj3321 ,poj2481*,    poj2155)  
                 (4)RMQ. (poj3264*,    poj3368*(原數組的轉換)  
                 (5)并查集的高級應用. (poj1703*,2492)  
                 (6)KMP算法. (poj1961*,poj2406*) 2752* (利用next函數的原理)
            四.搜索   
                 (1)最優化剪枝和可行性剪枝   
                 (2)搜索的技巧和優化
                     poj3411
                     poj1724 #( dfs+剪枝,因為有重邊,所以采用鄰接表來表示邊)
                 (3)記憶化搜索(poj3373,poj1691)  
                   
            五.動態規劃   
                 (1)較為復雜的動態規劃(如動態規劃解特別的施行商問題等)  
                     (poj1191,poj1054,poj3280,poj2029,poj2948,poj1925,poj3034)  
                 (2)記錄狀態的動態規劃. (POJ3254,poj2411,poj1185)  
                 (3)樹型動態規劃(poj2057,poj1947,poj2486,poj3140)  
            六.數學   
                 (1)組合數學:   
                    1.容斥原理.   
                    2.抽屜原理.   
                    3.置換群與Polya定理(poj1286,poj2409,poj3270,poj1026).   
                    4.遞推關系和母函數.   
                      
                 (2)數學.   
                    1.高斯消元法(poj2947,poj1487, poj2065,poj1166,poj1222)  
                    2.概率問題. (poj3071,poj3440)  
                    3.GCD、擴展的歐幾里德(中國剩余定理) (poj3101)   
                 (3)計算方法.   
                    1.0/1分數規劃. (poj2976)  
                    2.三分法求解單峰(單谷)的極值.   
                    3.矩陣法(poj3150,poj3422,poj3070)  
                    4.迭代逼近(poj3301)  
                 (4)隨機化算法(poj3318*    ,poj2454)  
                 (5)雜題.  
                     (poj1870,poj3296,poj3286,poj1095)  
            七.計算幾何學.   
                    (1)坐標離散化.   
                    (2)掃描線算法(例如求矩形的面積和周長并,常和線段樹或堆一起使用).   
                        (poj1765,poj1177,poj1151,poj3277,poj2280,poj3004)  
                    (3)多邊形的內核(半平面交)(poj3130,poj3335)  
                    (4)幾何工具的綜合應用.(poj1819,poj1066,poj2043,poj3227,poj2165,poj3429
             
            )  
            高級:  
            一.基本算法要求:    
                  (1)代碼快速寫成,精簡但不失風格    
                      (poj2525,poj1684,poj1421,poj1048,poj2050,poj3306)  
                  (2)保證正確性和高效性.  poj3434  
            二.圖算法:   
                  (1)度限制最小生成樹和第K最短路. (poj1639)  
                  (2)最短路,最小生成樹,二分圖,最大流問題的相關理論(主要是模型建立和求解)  
                     (poj3155, poj2112,poj1966,poj3281,poj1087,poj2289,poj3216,poj2446  
             
                  (3)最優比率生成樹.  (poj2728)  
                  (4)最小樹形圖(poj3164)  
                  (5)次小生成樹.   
                  (6)無向圖、有向圖的最小環     
            三.數據結構.    
                  (1)trie圖的建立和應用. (poj2778)  
                  (2)LCA和RMQ問題(LCA(最近公共祖先問題) 有離線算法(并查集+dfs) 和 在線算法
                      (RMQ+dfs)).(poj1330*    (此題可以直接使用遍歷出兩條路徑尋找最近相同點即可.并且比RMQ+DFS還快)  
                  (3)雙端隊列和它的應用(維護一個單調的隊列,常常在動態規劃中起到優化狀態轉移
             
            的  
                      目的).  (poj2823)  
                  (4)左偏樹(可合并堆).    
                  (5)后綴樹(非常有用的數據結構,也是賽區考題的熱點).   
                     (poj3415,poj3294)  
            四.搜索    
                  (1)較麻煩的搜索題目訓練(poj1069,poj3322,poj1475,poj1924,poj2049,poj3426)
             
             
                  (2)廣搜的狀態優化:利用M進制數存儲狀態、轉化為串用hash表判重、按位壓縮存儲
             
            狀態、雙向廣搜、A*算法. (poj1768,poj1184,poj1872,poj1324,poj2046,poj1482)  
                  (3)深搜的優化:盡量用位運算、一定要加剪枝、函數參數盡可能少、層數不易過大
             
            、可以考慮雙向搜索或者是輪換搜索、IDA*算法. (poj3131,poj2870,poj2286)  
            五.動態規劃    
                  (1)需要用數據結構優化的動態規劃.  
                     (poj2754,poj3378,poj3017)  
                  (2)四邊形不等式理論.   
                  (3)較難的狀態DP(poj3133)  
            六.數學    
                  (1)組合數學.   
                    1.MoBius反演(poj2888,poj2154)  
                    2.偏序關系理論.   
                  (2)博奕論.   
                    1.極大極小過程(poj3317,poj1085)  
                    2.Nim問題.   
            七.計算幾何學.    
                  (1)半平面求交(poj3384,poj2540)  
                  (2)可視圖的建立(poj2966)  
                  (3)點集最小圓覆蓋.   
                  (4)對踵點(poj2079)  
                  八.綜合題.  
                  (poj3109,poj1478,poj1462,poj2729,poj2048,poj3336,poj3315,poj2148,poj1263
            posted on 2010-03-14 12:23 koson 閱讀(644) 評論(0)  編輯 收藏 引用 所屬分類: ACM
            99久久精品费精品国产| 国产精品99久久久久久猫咪| 青青草国产97免久久费观看| 久久这里有精品视频| 久久亚洲国产午夜精品理论片 | 欧美va久久久噜噜噜久久| 无码伊人66久久大杳蕉网站谷歌 | 亚洲国产精品成人久久蜜臀| 亚洲精品NV久久久久久久久久| 一本色综合网久久| 精品综合久久久久久888蜜芽| 蜜桃麻豆www久久| 亚洲精品第一综合99久久| 色99久久久久高潮综合影院| 久久天天躁狠狠躁夜夜躁2O2O| 久久中文精品无码中文字幕| 人妻无码αv中文字幕久久琪琪布| 91精品国产色综久久| 午夜不卡久久精品无码免费| 99久久精品免费看国产一区二区三区| 噜噜噜色噜噜噜久久| 久久久久九九精品影院| 国内精品久久久久久久97牛牛 | 51久久夜色精品国产| 久久亚洲欧美国产精品| 国产精品久久婷婷六月丁香| 国产99久久久国产精免费| 亚洲av日韩精品久久久久久a| 色综合合久久天天给综看| 国内精品久久久久伊人av| 久久精品国产免费观看三人同眠| 久久精品无码一区二区三区日韩 | 色悠久久久久久久综合网| 色偷偷888欧美精品久久久| 国产精品一久久香蕉国产线看观看| 亚洲午夜精品久久久久久浪潮 | 亚洲中文字幕无码久久精品1| 国产精品热久久毛片| 色综合久久中文综合网| 97久久精品人人澡人人爽| 欧美激情精品久久久久|