1. 程式人生 > >北大ACM - POJ試題分類

北大ACM - POJ試題分類

路徑 後序 序列 nim 轉化 for km算法 背包 進制數

1.入門水題

可用於練手與增強自信
POJ-1003 POJ-1004 POJ-1005 POJ-1207 POJ-3299 POJ-2159 POJ-1083 POJ-3094

2.初級

2.1. 基本算法-
枚舉 POJ-1753 POJ-2965
貪心 POJ-1328 POJ-2586
遞歸和分治法 -
遞推 -
構造法 POJ-3295 POJ-3239
模擬法 POJ-1008 POJ-1068 POJ-2632 POJ-1573 POJ-2993 POJ-2996 POJ-3087
高精度算法 21位大數的水仙花數
POJ-1001 POJ-1503 POJ-2109 POJ-2389 POJ-2602 POJ-3982

2.2. 圖算法-
圖遍歷(前序序列、中序序列、後序序列) POJ-2255
最短路徑算法
(dijkstra, bellman-ford, floyd, heap+dijkstra)
POJ-1860 POJ-3259 POJ-1062 POJ-2253 POJ-1125 POJ-2240
最小生成樹算法(prim, kruskal) POJ-1789 POJ-2485 POJ-1258 POJ-3026
拓撲排序 POJ-1094
二分圖的最大匹配 (匈牙利算法) POJ-3041 POJ-3020
最大流的增廣路算法(壓入重標法、KM算法) POJ-1459 POJ-3436

2.3. 數據結構-
POJ-1016 POJ-1035 POJ-3080 POJ-1936
排序(快排、歸並排、堆排) POJ-1007 POJ-2388 POJ-1804 POJ-2299
並查集 -
高效查找法
(數的Hash、串的Hash、二分查找)
POJ-1002 POJ-3349 POJ-3274 POJ-1840 POJ-2002 POJ-3432 POJ-2503
哈夫曼樹、優先隊列 POJ-3253
-
trie樹(靜態建樹、動態建樹) POJ-2513

2.4. 搜索-
深度優先搜索BFS POJ-2488 POJ-3083 POJ-3009 POJ-1321
廣度優先搜索DFS POJ-3278 POJ-1426 POJ-3126 POJ-3414 POJ-2251
簡單搜索技巧和剪枝 POJ-1010 POJ-2362 POJ-1011 POJ-1416 POJ-2676 POJ-1129

2.5. 動態規劃--
背包問題 - POJ-1837 POJ-1276 POJ-1014
DP(動態規劃)
可參考《劉汝佳:算法法藝術與信息學競賽》
(黑書一)page 149
E[j] = opt{D+w(i,j)} POJ-1018 POJ-3267 POJ-1836 POJ-1260 POJ-2533
最長公共子序列
E[i,j] = opt{D[i-1,j]+xi,D[i,j-1]+yj,D[i-1][j-1]+zij}
POJ-1015 POJ-3176 POJ-1163 POJ-1080 POJ-1159
最優二分檢索樹問題
C[i,j] = w[i,j]+opt{C[i,k-1]+C[k,j]}

2.6. 數學--
組合數學 加法原理和乘法原理
排列組合
遞推關系 POJ-1012 POJ-3252 POJ-1850 POJ-1496 POJ-1019 POJ-1942
邏輯推理 POJ-1013 POJ-1017
數論 素數與整除問題 POJ-2739 POJ-2262 POJ-3006
進制位
同余模運算 POJ-2305 POJ-2635 POJ-3292 POJ-1845 POJ-2115
中國余數定理
(擴展歐幾裏德、輾轉相除法)
POJ-1006
計算方法 二分法求解單調函數 POJ-3273 POJ-3258 POJ-1905 POJ-3122
隨機化算法 POJ-2531
概率 POJ-2151

2.7. 計算幾何學-
幾何公式
叉積和點積的運用
(如線段相交的判定、點到線段的距離等)
POJ-2031 POJ-1039
多邊型的簡單算法(求面積) 和
相關判定(點在多邊型內、多邊型是否相交)
POJ-1408 POJ-1584
凸包 POJ-1696 POJ-2187 POJ-1113

3.中級

3.1. 基本算法-
C++的標準模版庫的應用 POJ-3096 POJ-3007
較為復雜的模擬題的訓練 POJ-3393 POJ-1472 POJ-3371 POJ-1027 POJ-2706 POJ-1009

3.2. 圖算法-
差分約束系統的建立和求解 POJ-1716 POJ-1201 POJ-2983
最小費用最大流 POJ-2516 POJ-2195
雙連通分量 POJ-2942
強連通分支及其縮點 POJ-2186
圖的割邊和割點 POJ-1523 POJ-3352 POJ-3177
最小割模型、網絡流規約 POJ-3308

3.3. 數據結構-
線段樹 POJ-2528 POJ-2828 POJ-2777 POJ-2886 POJ-2750
靜態二叉檢索樹 POJ-2482 POJ-2352
樹狀樹組 POJ-1195 POJ-3321
RMQ POJ-3264 POJ-3368
並查集 POJ-1703 POJ-2492
KMP算法 POJ-1961 POJ-2406

3.4. 搜索-
最優化剪枝和可行性剪枝
搜索的技巧和優化 POJ-1020 POJ-3411 POJ-1724
記憶化搜索 POJ-3373 POJ-1691
搜索與狀態壓縮 POJ-1184

3.5. 動態規劃-
較復雜的動態規劃
(如特別的旅行商問題等)
POJ-1191 POJ-1054 POJ-3280 POJ-2029 POJ-2948 POJ-1925 POJ-3034
記錄狀態的動態規劃 POJ-3254 POJ-2411 POJ-1185
樹型動態規劃 POJ-2057 POJ-1947 POJ-2486 POJ-3140

3.6. 數學--
組合數學 容斥原理
抽屜原理
置換群與Polya定理 POJ-1286 POJ-2409 POJ-3270 POJ-1026
遞推關系和母函數
數論 高斯消元法 POJ-2947 POJ-1487 POJ-2065 POJ-1166 POJ-1222
概率問題 POJ-3071 POJ-3440
GCD(最大公約數)
LCM(最小公倍數)
POJ-3101
中國余數定理
(擴展歐幾裏德、輾轉相除法)
計算方法 0/1分數規劃 POJ-2976
三分法求解單峰/單谷的極值
矩陣法 POJ-3150 POJ-3422 POJ-3070
叠代逼近 POJ-3301
隨機化算法 POJ-3318 POJ-2454
雜題 POJ-1870 POJ-3296 POJ-3286 POJ-1095

3.7. 計算幾何學-
坐標離散化
掃描線算法
(如求矩形的面積和周長,常和線段樹或堆一起使用)
POJ-1765 POJ-1177 POJ-1151 POJ-3277 POJ-2280 POJ-3004
多邊形的內核(半平面交) POJ-3130 POJ-3335
幾何工具的綜合應用 POJ-1819 POJ-1066 POJ-2043 POJ-3227 POJ-2165 POJ-3429

4.高級

4.1. 基本算法-
代碼快速寫成(精簡但不失風格) POJ-2525 POJ-1684 POJ-1421 POJ-1048 POJ-2050 POJ-3306
保證正確性和高效性 POJ-3434

4.2. 圖算法-
度限制最小生成樹 和 第K最短路 POJ-1639
最短路、最小生成樹、二分圖、最大流問題的相關理論
(主要是模型建立和求解)
POJ-3155 POJ-2112 POJ-1966 POJ-3281 POJ-1087 POJ-2289 POJ-3216 POJ-2446
最優比率生成樹 POJ-2728
最小樹形圖 POJ-3164
次小生成樹
無向圖、有向圖的最小環

4.3. 數據結構-
trie圖的建立和應用 POJ-2778
LCA和RMQ問題:
LCA(最近公共祖先問題)
離線算法(並查集+dfs)
在線算法(RMQ+dfs)
POJ-1330
雙端隊列和應用
(維護一個單調的隊列,常在動態規劃中起到優化狀態轉移的目的)
POJ-2823
左偏樹(可合並堆)
後綴樹 POJ-3415 POJ-3294

4.4. 搜索-
較麻煩的搜索題目訓練 POJ-1069 POJ-3322 POJ-1475 POJ-1924 POJ-2049 POJ-3426
廣搜優化
(利用M進制數存儲狀態、轉化為串用hash表判重、按位壓縮存儲狀態、雙向廣搜、A*算法)(RMQ+dfs)
POJ-1768 POJ-1184 POJ-1872 POJ-1324 POJ-2046 POJ-1482
深搜優化
(盡量用位運算、一定要加剪枝、函數參數盡可能少、層數不易過大、可以考慮雙向搜索或者是輪換搜索、IDA*算法)
POJ-3131 POJ-2870 POJ-2286

4.5. 動態規劃-
需要用數據結構優化的動態規劃 POJ-2754 POJ-3378 POJ-3017
四邊形不等式理論
較難的狀態DP POJ-3133

4.6. 數學--
組合數學 MoBius反演 POJ-2888 POJ-2154
偏序關系理論
計算方法 極大極小過程 POJ-3317 POJ-1085
Nim問題

4.7. 計算幾何學-
半平面求交 POJ-3384 POJ-2540
可視圖的建立 POJ-2966
點集最小圓覆蓋
對踵點 POJ-2079

4.8. 綜合題
POJ-3109 POJ-1478 POJ-1462 POJ-2729 POJ-2048 POJ-3336 POJ-3315 POJ-2148 POJ-1263

北大ACM - POJ試題分類