日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

算法分类

發布時間:2024/9/30 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 算法分类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

要堅持一個一個的學習


圖論
?????????? 拓撲排序?
?????????????? 有向無環圖與動態規劃的關系

?????? 二分圖匹配問題?
?????????? 一般圖問題與二分圖問題的轉換思路?
?????????? 最大匹配?
?????????????? 有向圖的最小路徑覆蓋?
?????????????? 0 / 1矩陣的最小覆蓋?
?????????? 完備匹配?
?????????? 最優匹配?
?????????? 穩定婚姻

?????? 網絡流問題?
?????????? 網絡流模型的簡單特征和與線性規劃的關系?
?????????? 最大流最小割定理?
?????????? 最大流問題?
?????????????? 有上下界的最大流問題?
?????????????????? 循環流?
?????????? 最小費用最大流 / 最大費用最大流

?????? 弦圖的性質和判定


組合數學

?????? 解決組合數學問題時常用的思想?
?????????? 逼近?
?????????? 遞推 / 動態規劃?
?????? 概率問題?
?????????? Polya定理


計算幾何 / 解析幾何

?????? 計算幾何的核心:叉積 / 面積?
?????? 解析幾何的主力:復數

?????? 基本形?
?????????? 點?
?????????? 直線,線段?
?????????? 多邊形

?????? 凸多邊形 / 凸包?
?????????? 凸包算法的引進,卷包裹法

?????? Graham掃描法?
?????????? 水平序的引進,共線凸包的補丁

?????? 完美凸包算法

?????? 相關判定?
?????????? 兩直線相交?
?????????? 兩線段相交?
?????????? 點在任意多邊形內的判定?
?????????? 點在凸多邊形內的判定

?????? 經典問題?
?????????? 最小外接圓?
?????????????? 近似O(n)的最小外接圓算法?
?????????? 點集直徑?
?????????????? 旋轉卡殼,對踵點?
?????????? 多邊形的三角剖分


數學 / 數論

?????? 最大公約數?
?????????? Euclid算法?
?????????????? 擴展的Euclid算法?
?????????????????? 同余方程 / 二元一次不定方程?
?????????????????? 同余方程組

?????? 線性方程組?
?????????? 高斯消元法?
?????????????? 解mod 2域上的線性方程組?
?????????? 整系數方程組的精確解法

?????? 矩陣?
?????????? 行列式的計算?
?????????????? 利用矩陣乘法快速計算遞推關系

?????? 分數?
?????????? 分數樹?
?????????? 連分數逼近

?????? 數論計算?
?????????? 求N的約數個數?
?????????? 求phi(N)?
?????????? 求約數和?
?????????? 快速數論變換?
?????????? ……

?????? 素數問題?
?????????? 概率判素算法?
?????????? 概率因子分解


數據結構

?????? 組織結構?
?????????? 二叉堆?
?????????? 左偏樹?
?????????? 二項樹?
?????????? 勝者樹?
?????????? 跳躍表?
?????????? 樣式圖標?
?????????? 斜堆?
?????????? reap

?????? 統計結構?
?????????? 樹狀數組?
?????????? 虛二叉樹?
?????????? 線段樹?
?????????????? 矩形面積并?
?????????????? 圓形面積并

?????? 關系結構?
?????????? Hash表?
?????????? 并查集?
?????????????? 路徑壓縮思想的應用

?????? STL中的數據結構?
?????????? vector?
?????????? deque?
?????????? set / map


動態規劃 / 記憶化搜索

?????? 動態規劃和記憶化搜索在思考方式上的區別

?????? 最長子序列系列問題?
?????????? 最長不下降子序列?
?????????? 最長公共子序列

?????? 一類NP問題的動態規劃解法

?????? 樹型動態規劃

?????? 背包問題

?????? 動態規劃的優化?
?????????? 四邊形不等式?
?????????? 函數的凸凹性?
?????????? 狀態設計?
?????????? 規劃方向


線性規劃

常用思想

?????? 二分?
?????? 最小表示法

?????? KMP?
?????? Trie結構?
?????? 后綴樹/后綴數組?
?????? LCA/RMQ?
?????? 有限狀態自動機理論

排序
?????? 選擇/冒泡?
?????? 快速排序?
?????? 堆排序?
?????? 歸并排序?
?????? 基數排序?
?????? 拓撲排序?
?????? 排序網絡

?

/**************以下為POJ推薦*****************************/

題目均為POJ上的
http://acm.pku.edu.cn
個別題目的分類并不準確
======================================

OJ上的一些水題(可用來練手和增加自信)?
(poj3299,poj2159,poj2739

,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)
初期:
一.基本算法: ?
??? (1)枚舉. (poj1753,poj2965)
??? (2)貪心(poj1328,poj2109,poj2586)
??? (3)遞歸和分治法. ?
??? (4)遞推. ?
??? (5)構造法.(poj3295)?
??? (6)模擬法.(poj1068,poj2632,poj1573,poj2993,poj2996)
二.圖算法: ?
??? (1)圖的深度優先遍歷和廣度優先遍歷. ?
??? (2)最短路徑算法(dijkstra,bellman-ford,floyd,heap+dijkstra) ?
?????? (poj1860,poj3259,poj1062,poj2253,poj1125,poj2240)
??? (3)最小生成樹算法(prim,kruskal)
?????? (poj1789,poj2485,poj1258,poj3026)
??? (4)拓撲排序 (poj1094)
??? (5)二分圖的最大匹配 (匈牙利算法) (poj3041,poj3020)
??? (6)最大流的增廣路算法(KM算法). (poj1459,poj3436)
三.數據結構. ?
??? (1)串 (poj1035,poj3080,poj1936)?
??? (2)排序(快排、歸并排(與逆序數有關)、堆排) (poj2388,poj2299)
??? (3)簡單并查集的應用. ?
??? (4)哈希表和二分查找等高效查找法(數的Hash,串的Hash)?? ?
?????? (poj3349,poj3274,POJ2151,poj1840,poj2002,poj2503)
??? (5)哈夫曼樹(poj3253)
??? (6)堆 ?
??? (7)trie樹(靜態建樹、動態建樹) (poj2513)?
四.簡單搜索 ?
??? (1)深度優先搜索 (poj2488,poj3083,poj3009,poj1321,poj2251)
??? (2)廣度優先搜索(poj3278,poj1426,poj3126,poj3087.poj3414)
??? (3)簡單搜索技巧和剪枝(poj2531,poj1416,poj2676,1129)
五.動態規劃 ?
??? (1)背包問題. (poj1837,poj1276)?
??? (2)型如下表的簡單DP(可參考lrj的書 page149): ?
????? 1.E[j]=opt{D[i]+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)
??? (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)
??? (2)最小費用最大流(poj2516,poj2516,poj2195)
??? (3)雙連通分量(poj2942)
??? (4)強連通分支及其縮點.(poj2186)
??? (5)圖的割邊和割點(poj3352)
??? (6)最小割模型、網絡流規約(poj3308, )
三.數據結構 . ?
??? (1)線段樹. (poj2528,poj2828,poj2777,poj2886,poj2750)
??? (2)靜態二叉檢索樹. (poj2482,poj2352)
??? (3)樹狀樹組(poj1195,poj3321)
??? (4)RMQ. (poj3264,poj3368)
??? (5)并查集的高級應用. (poj1703,2492)
??? (6)KMP算法. (poj1961,poj2406)?
四.搜索 ?
??? (1)最優化剪枝和可行性剪枝 ?
??? (2)搜索的技巧和優化 (poj3411,poj1724)
??? (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)
???? (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)


=================================

下面是另一版本POJ推薦,基本都比較難,很多題目與黑書配套
=================================
推薦一些題目,希望對參與ICPC競賽的同學有所幫助。

POJ上一些題目在
http://162.105.81.202/course/problemSolving/?
可以找到解題報告。
《算法藝術與信息學競賽》的習題提示在網上可搜到

一.動態規劃
參考資料:
劉汝佳《算法藝術與信息學競賽》
《算法導論》

推薦題目:
http://acm.pku.edu.cn/JudgeOnline/problem?id=1141?
簡單

http://acm.pku.edu.cn/JudgeOnline/problem?id=2288?
中等,經典TSP問題

http://acm.pku.edu.cn/JudgeOnline/problem?id=2411?
中等,狀態壓縮DP

http://acm.pku.edu.cn/JudgeOnline/problem?id=1112?
中等

http://acm.pku.edu.cn/JudgeOnline/problem?id=1848?
中等,樹形DP。
可參考《算法藝術與信息學競賽》動態規劃一節的樹狀模型

http://acm.zju.edu.cn/show_problem.php?pid=1234?
中等,《算法藝術與信息學競賽》中的習題

http://acm.pku.edu.cn/JudgeOnline/problem?id=1947?
中等,《算法藝術與信息學競賽》中的習題

http://acm.pku.edu.cn/JudgeOnline/problem?id=1946?
中等,《算法藝術與信息學競賽》中的習題

http://acm.pku.edu.cn/JudgeOnline/problem?id=1737?
中等,遞推

http://acm.pku.edu.cn/JudgeOnline/problem?id=1821?
中等,需要減少冗余計算

http://acm.zju.edu.cn/show_problem.php?pid=2561?
中等,四邊形不等式的簡單應用

http://acm.pku.edu.cn/JudgeOnline/problem?id=1038?
較難,狀態壓縮DP,《算法藝術與信息學競賽》中有解答

http://acm.pku.edu.cn/JudgeOnline/problem?id=1390?
較難,《算法藝術與信息學競賽》中有解答

http://acm.pku.edu.cn/JudgeOnline/problem?id=3017?
較難,需要配合數據結構優化(我的題目^_^)

http://acm.pku.edu.cn/JudgeOnline/problem?id=1682?
較難,寫起來比較麻煩


http://acm.pku.edu.cn/JudgeOnline/problem?id=2047?
較難

http://acm.pku.edu.cn/JudgeOnline/problem?id=2152?
難,樹形DP

http://acm.pku.edu.cn/JudgeOnline/problem?id=3028?
難,狀態壓縮DP,題目很有意思

http://acm.pku.edu.cn/JudgeOnline/problem?id=3124?


http://acm.pku.edu.cn/JudgeOnline/problem?id=2915?
非常難


二.搜索
參考資料:
劉汝佳《算法藝術與信息學競賽》
推薦題目:
http://acm.pku.edu.cn/JudgeOnline/problem?id=1011?
簡單,深搜入門題

http://acm.pku.edu.cn/JudgeOnline/problem?id=1324?
中等,廣搜

http://acm.pku.edu.cn/JudgeOnline/problem?id=2044?
中等,廣搜

http://acm.pku.edu.cn/JudgeOnline/problem?id=2286?
較難,廣搜

http://acm.pku.edu.cn/JudgeOnline/problem?id=1945?
難,IDA*,迭代加深搜索,需要較好的啟發函數

http://acm.pku.edu.cn/JudgeOnline/problem?id=2449?
難,可重復K最短路,A*。
可參考解題報告:
http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1144?

http://acm.pku.edu.cn/JudgeOnline/problem?id=1190?
難,深搜剪枝,《算法藝術與信息學競賽》中有解答

http://acm.pku.edu.cn/JudgeOnline/problem?id=1084?
難,《算法藝術與信息學競賽》習題

http://acm.pku.edu.cn/JudgeOnline/problem?id=2989?
難,深搜

http://acm.pku.edu.cn/JudgeOnline/problem?id=1167?
較難,《算法藝術與信息學競賽》中有解答

http://acm.pku.edu.cn/JudgeOnline/problem?id=1069?
很難


三. 常用數據結構
參考資料:
劉汝佳《算法藝術與信息學競賽》
《算法導論》
線段樹資料:
http://home.ustc.edu.cn/~zhuhcheng/ACM/segment_tree.pdf?
樹狀數組資料
http://home.ustc.edu.cn/~zhuhcheng/ACM/tree.ppt?
關于線段樹和樹狀數組更多相關內容可在網上搜到
后綴數組資料
http://home.ustc.edu.cn/~zhuhcheng/ACM/suffix_array.pdf?
http://home.ustc.edu.cn/~zhuhcheng/ACM/linear_suffix.pdf?

推薦題目

http://acm.pku.edu.cn/JudgeOnline/problem?id=2482?
較難,線段樹應用,《算法藝術與信息學競賽》中有解答

http://acm.pku.edu.cn/JudgeOnline/problem?id=1151?
簡單,線段樹應用矩形面積并,《算法藝術與信息學競賽》中有解答

http://acm.pku.edu.cn/JudgeOnline/problem?id=3225?
較難,線段樹應用,可參考解題報告
http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1233?

http://acm.pku.edu.cn/JudgeOnline/problem?id=2155?
難,二維樹狀數組。

http://acm.pku.edu.cn/JudgeOnline/problem?id=2777?
中等,線段樹應用。

http://acm.pku.edu.cn/JudgeOnline/problem?id=2274?
難,堆的應用,《算法藝術與信息學競賽》中有解答

http://acm.zju.edu.cn/show_problem.php?pid=2334?
中等,左偏樹,二項式堆或其他可合并堆的應用。
左偏樹參考http://www.nist.gov/dads/HTML/leftisttree.html?
二項式堆參見《算法導論》相關章節

http://acm.pku.edu.cn/JudgeOnline/problem?id=1182?
中等,并查集

http://acm.pku.edu.cn/JudgeOnline/problem?id=1816?
中等,字典樹

http://acm.pku.edu.cn/JudgeOnline/problem?id=2778?
較難,多串匹配樹
參考:http://home.ustc.edu.cn/~zhuhcheng/ACM/zzy2004.pdf?

http://acm.pku.edu.cn/JudgeOnline/problem?id=1743?
難,后綴數組

http://acm.pku.edu.cn/JudgeOnline/problem?id=2774?

較難,最長公共子串,經典問題,后綴數組

http://acm.pku.edu.cn/JudgeOnline/problem?id=2758?
很難,后綴數組
可參考解題報告
http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1178?

http://acm.pku.edu.cn/JudgeOnline/problem?id=2448?
很難,數據結構綜合運用

四.圖論基礎
參考資料:
劉汝佳《算法藝術與信息學競賽》
《算法導論》
《網絡算法與復雜性理論》謝政

推薦題目:?

http://acm.pku.edu.cn/JudgeOnline/problem?id=2337?
簡單,歐拉路

http://acm.pku.edu.cn/JudgeOnline/problem?id=3177?
中等,無向圖割邊


http://acm.pku.edu.cn/JudgeOnline/problem?id=2942?
較難,無向圖雙連通分支

http://acm.pku.edu.cn/JudgeOnline/problem?id=1639?
中等,最小度限制生成樹,《算法藝術與信息學競賽》中有解答

http://acm.pku.edu.cn/JudgeOnline/problem?id=2728?
中等,最小比率生成樹,《算法藝術與信息學競賽》中有解答

http://acm.pku.edu.cn/JudgeOnline/problem?id=3013?
簡單,最短路問題

http://acm.pku.edu.cn/JudgeOnline/problem?id=1275?
中等,差分約束系統,Bellman-Ford求解,《算法藝術與信息學競賽》中有解答

http://acm.pku.edu.cn/JudgeOnline/problem?id=1252?
簡單,Bellman-Ford

http://acm.pku.edu.cn/JudgeOnline/problem?id=1459?
中等,網絡流

http://acm.pku.edu.cn/JudgeOnline/problem?id=2391?
較難,網絡流

http://acm.pku.edu.cn/JudgeOnline/problem?id=1325?
中等,二部圖最大匹配

http://acm.pku.edu.cn/JudgeOnline/problem?id=2226?
較難,二部圖最大匹配

http://acm.pku.edu.cn/JudgeOnline/problem?id=2195?
中等,二部圖最大權匹配
KM算法參考《網絡算法與復雜性理論》

http://acm.pku.edu.cn/JudgeOnline/problem?id=2516?
較難,二部圖最大權匹配

http://acm.pku.edu.cn/JudgeOnline/problem?id=1986?
中等,LCA(最近公共祖先)問題
參考Tarjan's LCA algorithm 《算法導論》第21章習題

http://acm.pku.edu.cn/JudgeOnline/problem?id=2723?
較難,2-SAT問題
參考:http://home.ustc.edu.cn/~zhuhcheng/ACM/2-SAT.PPT?

http://acm.pku.edu.cn/JudgeOnline/problem?id=2749?
較難,2-SAT問題

http://acm.pku.edu.cn/JudgeOnline/problem?id=3164?
較難,最小樹形圖
參考《網絡算法與復雜性理論》中朱-劉算法

五.數論及組合計數基礎

http://acm.pku.edu.cn/JudgeOnline/problem?id=1811?
簡單,素數判定,大數分解
參考算法導論相關章節

http://acm.pku.edu.cn/JudgeOnline/problem?id=2888?
較難,Burnside引理

http://acm.pku.edu.cn/JudgeOnline/problem?id=2891?
中等,解模方程組

http://acm.pku.edu.cn/JudgeOnline/problem?id=2154?
中等,經典問題,波利亞定理

http://cs.scu.edu.cn/soj/problem.action?id=2703?
難,極好的題目,Burnside引理+模線性方程組


http://acm.pku.edu.cn/JudgeOnline/problem?id=2764?
較難,需要數學方法,該方法在《具體數學》第七章有講

http://acm.pku.edu.cn/JudgeOnline/problem?id=1977?
簡單,矩陣快速乘法

總結

以上是生活随笔為你收集整理的算法分类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。