acm常見算法及例題

?

  1 acm常見算法及例題
  2 
  3  初期:
  4 一.基本算法:
  5       (1)枚舉. (poj1753,poj2965)
  6       (2)貪心(poj1328,poj2109,poj2586)
  7       (3)遞歸和分治法.
  8       (4)遞推.
  9       (5)構造法.(poj3295)
 10       (6)模擬法.(poj1068,poj2632,poj1573,poj2993,poj2996)
 11 二.圖算法:
 12       (1)圖的深度優先遍歷和廣度優先遍歷.
 13       (2)最短路徑算法(dijkstra,bellman-ford,floyd,heap+dijkstra)
 14          (poj1860,poj3259,poj1062,poj2253,poj1125,poj2240)
 15       (3)最小生成樹算法(prim,kruskal)
 16          (poj1789,poj2485,poj1258,poj3026)
 17       (4)拓撲排序 (poj1094)
 18       (5)二分圖的最大匹配 (匈牙利算法) (poj3041,poj3020)
 19       (6)最大流的增廣路算法(KM算法). (poj1459,poj3436)
 20 三.數據結構.
 21       (1)串 (poj1035,poj3080,poj1936)
 22       (2)排序(快排、歸并排(與逆序數有關)、堆排) (poj2388,poj2299)
 23       (3)簡單并查集的應用.
 24       (4)哈希表和二分查找等高效查找法(數的Hash,串的Hash)   
 25          (poj3349,poj3274,POJ2151,poj1840,poj2002,poj2503)
 26       (5)哈夫曼樹(poj3253)
 27       (6)堆
 28      (7)trie樹(靜態建樹、動態建樹) (poj2513)
 29 四.簡單搜索
 30      (1)深度優先搜索 (poj2488,poj3083,poj3009,poj1321,poj2251)
 31       (2)廣度優先搜索(poj3278,poj1426,poj3126,poj3087.poj3414)
 32       (3)簡單搜索技巧和剪枝(poj2531,poj1416,poj2676,1129)
 33 五.動態規劃
 34      (1)背包問題. (poj1837,poj1276)
 35       (2)型如下表的簡單DP(可參考lrj的書 page149):
 36         1.E[j]=opt{D+w(i,j)} (poj3267,poj1836,poj1260,poj2533)
 37         2.E[i,j]=opt{D[i-1,j]+xi,D[i,j-1]+yj,D[i-1][j-1]+zij} (最長公共子序列)    
 38           (poj3176,poj1080,poj1159)
 39         3.C[i,j]=w[i,j]+opt{C[i,k-1]+C[k,j]}.(最優二分檢索樹問題)
 40 六.數學
 41      (1)組合數學:
 42          1.加法原理和乘法原理.
 43          2.排列組合.
 44          3.遞推關系.
 45            (POJ3252,poj1850,poj1019,poj1942)
 46       (2)數論.
 47          1.素數與整除問題
 48         2.進制位.
 49          3.同余模運算.
 50            (poj2635, poj3292,poj1845,poj2115)
 51       (3)計算方法.
 52          1.二分法求解單調函數相關知識.(poj3273,poj3258,poj1905,poj3122)
 53 七.計算幾何學.
 54       (1)幾何公式.
 55       (2)叉積和點積的運用(如線段相交的判定,點到線段的距離等). (poj2031,poj1039)
 56       (3)多邊型的簡單算法(求面積)和相關判定(點在多邊型內,多邊型是否相交)
 57           (poj1408,poj1584)
 58       (4)凸包. (poj2187,poj1113)
 59 
 60 
 61 
 62 中級:
 63 一.基本算法:
 64       (1)C++的標準模版庫的應用. (poj3096,poj3007)
 65       (2)較為復雜的模擬題的訓練(poj3393,poj1472,poj3371,poj1027,poj2706)
 66 二.圖算法:
 67       (1)差分約束系統的建立和求解. (poj1201,poj2983)
 68       (2)最小費用最大流(poj2516,poj2516,poj2195)
 69       (3)雙連通分量(poj2942)
 70       (4)強連通分支及其縮點.(poj2186)
 71       (5)圖的割邊和割點(poj3352)
 72       (6)最小割模型、網絡流規約(poj3308, )
 73 三.數據結構.
 74       (1)線段樹. (poj2528,poj2828,poj2777,poj2886,poj2750)
 75       (2)靜態二叉檢索樹. (poj2482,poj2352)
 76       (3)樹狀樹組(poj1195,poj3321)
 77       (4)RMQ. (poj3264,poj3368)
 78       (5)并查集的高級應用. (poj1703,2492)
 79       (6)KMP算法. (poj1961,poj2406)
 80 四.搜索
 81      (1)最優化剪枝和可行性剪枝
 82      (2)搜索的技巧和優化 (poj3411,poj1724)
 83       (3)記憶化搜索(poj3373,poj1691)
 84       
 85 五.動態規劃
 86      (1)較為復雜的動態規劃(如動態規劃解特別的施行商問題等)
 87           (poj1191,poj1054,poj3280,poj2029,poj2948,poj1925,poj3034)
 88       (2)記錄狀態的動態規劃. (POJ3254,poj2411,poj1185)
 89       (3)樹型動態規劃(poj2057,poj1947,poj2486,poj3140)
 90 六.數學
 91      (1)組合數學:
 92          1.容斥原理.
 93          2.抽屜原理.
 94          3.置換群與Polya定理(poj1286,poj2409,poj3270,poj1026).
 95          4.遞推關系和母函數.
 96          
 97       (2)數學.
 98          1.高斯消元法(poj2947,poj1487, poj2065,poj1166,poj1222)
 99          2.概率問題. (poj3071,poj3440)
100          3.GCD、擴展的歐幾里德(中國剩余定理) (poj3101)
101       (3)計算方法.
102          1.0/1分數規劃. (poj2976)
103          2.三分法求解單峰(單谷)的極值.
104          3.矩陣法(poj3150,poj3422,poj3070)
105          4.迭代逼近(poj3301)
106       (4)隨機化算法(poj3318,poj2454)
107       (5)雜題.
108           (poj1870,poj3296,poj3286,poj1095)
109 七.計算幾何學.
110          (1)坐標離散化.
111          (2)掃描線算法(例如求矩形的面積和周長并,常和線段樹或堆一起使用).
112              (poj1765,poj1177,poj1151,poj3277,poj2280,poj3004)
113          (3)多邊形的內核(半平面交)(poj3130,poj3335)
114          (4)幾何工具的綜合應用.(poj1819,poj1066,poj2043,poj3227,poj2165,poj3429)
115 
116 
117 高級: 
118 一.基本算法要求:  
119        (1)代碼快速寫成,精簡但不失風格  
120            (poj2525,poj1684,poj1421,poj1048,poj2050,poj3306)
121        (2)保證正確性和高效性. poj3434
122 二.圖算法:
123        (1)度限制最小生成樹和第K最短路. (poj1639)
124        (2)最短路,最小生成樹,二分圖,最大流問題的相關理論(主要是模型建立和求解)
125           (poj3155, poj2112,poj1966,poj3281,poj1087,poj2289,poj3216,poj2446
126        (3)最優比率生成樹. (poj2728)
127        (4)最小樹形圖(poj3164)
128        (5)次小生成樹.
129        (6)無向圖、有向圖的最小環   
130 三.數據結構.  
131        (1)trie圖的建立和應用. (poj2778)
132        (2)LCA和RMQ問題(LCA(最近公共祖先問題) 有離線算法(并查集+dfs) 和 在線算法
133           (RMQ+dfs)).(poj1330)
134        (3)雙端隊列和它的應用(維護一個單調的隊列,常常在動態規劃中起到優化狀態轉移的
135           目的). (poj2823)
136        (4)左偏樹(可合并堆).  
137        (5)后綴樹(非常有用的數據結構,也是賽區考題的熱點).
138           (poj3415,poj3294)
139 四.搜索  
140        (1)較麻煩的搜索題目訓練(poj1069,poj3322,poj1475,poj1924,poj2049,poj3426)
141        (2)廣搜的狀態優化:利用M進制數存儲狀態、轉化為串用hash表判重、按位壓縮存儲狀態、雙向廣搜、A*算法. (poj1768,poj1184,poj1872,poj1324,poj2046,poj1482)
142        (3)深搜的優化:盡量用位運算、一定要加剪枝、函數參數盡可能少、層數不易過大、可以考慮雙向搜索或者是輪換搜索、IDA*算法. (poj3131,poj2870,poj2286)
143 五.動態規劃  
144      (1)需要用數據結構優化的動態規劃.
145           (poj2754,poj3378,poj3017)
146      (2)四邊形不等式理論.
147      (3)較難的狀態DP(poj3133)
148 六.數學  
149      (1)組合數學.
150          1.MoBius反演(poj2888,poj2154)
151          2.偏序關系理論.
152      (2)博奕論.
153          1.極大極小過程(poj3317,poj1085)
154          2.Nim問題.
155 七.計算幾何學.  
156      (1)半平面求交(poj3384,poj2540)
157      (2)可視圖的建立(poj2966)
158      (3)點集最小圓覆蓋.
159      (4)對踵點(poj2079) 
160 
161 八.綜合題.
162        (poj3109,poj1478,poj1462,poj2729,poj2048,poj3336,poj3315,poj2148,poj1263)
163 
164  
165 
166 -----------------------------------------------------------------------------------------------
167  -----------------------------------------------------------------------------------------------
168 以及補充
169 Dp狀態設計與方程總結
170 1.不完全狀態記錄
171     <1>青蛙過河問題
172     <2>利用區間dp
173  2.背包類問題
174     <1> 0-1背包,經典問題
175     <2>無限背包,經典問題
176     <3>判定性背包問題
177     <4>帶附屬關系的背包問題
178     <5> + -1背包問題
179     <6>雙背包求最優值
180     <7>構造三角形問題
181     <8>帶上下界限制的背包問題(012背包)
182 3.線性的動態規劃問題
183     <1>積木游戲問題
184     <2>決斗(判定性問題)
185     <3>圓的最大多邊形問題
186     <4>統計單詞個數問題
187     <5>棋盤分割
188     <6>日程安排問題
189     <7>最小逼近問題(求出兩數之比最接近某數/兩數之和等于某數等等)
190      <8>方塊消除游戲(某區間可以連續消去求最大效益)
191      <9>資源分配問題
192     <10>數字三角形問題
193     <11>漂亮的打印
194     <12>郵局問題與構造答案
195     <13>最高積木問題
196     <14>兩段連續和最大
197     <15>2次冪和問題
198     <16>N個數的最大M段子段和
199     <17>交叉最大數問題
200 4.判定性問題的dp(如判定整除、判定可達性等)   
201      <1>模K問題的dp
202      <2>特殊的模K問題,求最大(最小)模K的數
203     <3>變換數問題
204 5.單調性優化的動態規劃
205     <1>1-SUM問題
206     <2>2-SUM問題
207     <3>序列劃分問題(單調隊列優化)
208 6.剖分問題(多邊形剖分/石子合并/圓的剖分/乘積最大)
209      <1>凸多邊形的三角剖分問題
210     <2>乘積最大問題
211     <3>多邊形游戲(多邊形邊上是操作符,頂點有權值)
212      <4>石子合并(N^3/N^2/NLogN各種優化)
213 7.貪心的動態規劃
214     <1>最優裝載問題
215     <2>部分背包問題
216     <3>乘船問題
217     <4>貪心策略
218     <5>雙機調度問題Johnson算法
219 8.狀態dp
220      <1>牛仔射擊問題(博弈類)
221      <2>哈密頓路徑的狀態dp
222      <3>兩支點天平平衡問題
223     <4>一個有向圖的最接近二部圖
224 9.樹型dp
225      <1>完美服務器問題(每個節點有3種狀態)
226      <2>小胖守皇宮問題
227     <3>網絡收費問題
228     <4>樹中漫游問題
229     <5>樹上的博弈
230     <6>樹的最大獨立集問題
231     <7>樹的最大平衡值問題
232     <8>構造樹的最小環

?

?

?

轉載于:https://www.cnblogs.com/aimqqroad-13/p/4439263.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/259051.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/259051.shtml
英文地址,請注明出處:http://en.pswp.cn/news/259051.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2爬蟲基礎了解

1.什么是爬蟲爬蟲&#xff0c;即網絡爬蟲&#xff0c;大家可以理解為在網絡上爬行的一直蜘蛛&#xff0c;互聯網就比作一張大網&#xff0c;而爬蟲便是在這張網上爬來爬去的蜘蛛咯&#xff0c;如果它遇到資源&#xff0c;那么它就會抓取下來。想抓取什么&#xff1f;這個由你來…

js(function(){alert(‘’‘)})

function(){alert(sss)}是個匿名函數。沒有名字。所以沒有辦法調用。在外面加個括號&#xff0c;就變成了一個值&#xff0c;值的內容是函數的引用。例如var a (function(){"nop"})a 就是對這個函數的引用。有了名字&#xff0c;之后可以調用&#xff0c;例如a()現在…

macbook 移動硬盤無法寫入_如何升級MacBook筆記本的SSD硬盤-菜鳥折騰系列一

2010 年的時候買了 09 年末的 MACBOOK 小白&#xff0c;由于技術發展&#xff0c;軟件越來越吃硬件內存&#xff0c;現在2G 內存別提基本的工作了&#xff0c;連開機都有困難&#xff0c;每次一點就一個風火輪&#xff0c;基本就是一塊 13 寸的板磚了。。。眾所周知 HDD 機械硬…

face alignment by 3000 fps系列學習總結(二)

準備初始數據 mean_shape mean_shape就是訓練圖片所有ground_truth points的平均值.那么具體怎么做呢&#xff1f;是不是直接將特征點相加求平均值呢&#xff1f; 顯然這樣做是倉促和不準確的。因為圖片之間人臉是各式各樣的&#xff0c;收到光照、姿勢等各方面的影響。因此…

parasoft Jtest 使用教程:功能配置之查找錯誤

2019獨角獸企業重金招聘Python工程師標準>>> parasoft Jtest介紹和試用>>> 今天開始為大家帶來parasoft Jtest功能配置板塊教程&#xff0c;也是系列教程中最重要的一部分。 通過運行Jtest的BugDetective和使用最重要的一套規則來進行編碼標準靜態分析&…

kmp入門小結

void get_next(char *s) {int len strlen(s);int j 0; int k -1;while (j < len){if (k -1 || s[j] s[k]){j; k; next[j] k;}else k next[k];} } 設t next[i]; next[i] 表示的是 i之前最大的t滿足 s[0...t-1] s[i-t...i-1] 比如 0123 4 0123 5 &#xff0c;next[…

基于visual Studio2013解決面試題之0807strstr函數

&#xfeff;&#xfeff;&#xfeff;題目解決代碼及點評/*寫strstr函數簡單的遍歷去查找吧 */#include <iostream> #include <stdio.h>const char *my_strstr(const char *str, const char *sub_str) {// 遍歷for(int i 0; str[i] ! \0; i){int tem i; //tem保…

aop在項目中的實際運用_mypy在實際項目中的應用

我認為靜態類型似乎被吹捧過高了。盡管如此&#xff0c;mypy極低的侵入性能帶來許多好處。關于如何在現有的Python項目中添加類型&#xff0c;以下是我的一些想法&#xff0c;大致按重要性排序。首先確保mypy成功運行 Mypy上手時兩個很常見的問題有&#xff1a;1.Mypy沒有作為構…

face alignment by 3000 fps系列學習總結(三)

訓練 我們主要以3000fps matlab實現為敘述主體。 總體目標 我們需要為68個特征點的每一個特征點訓練5棵隨機樹&#xff0c;每棵樹4層深&#xff0c;即為所謂的隨機森林。 開始訓練 分配樣本 事實上&#xff0c;對于每個特征點&#xff0c;要訓練隨機森林&#xff0c;我們需…

HDU 2049 不容易系列之(4)——考新郎( 錯排 )

鏈接&#xff1a;傳送門思路&#xff1a;錯排水題&#xff0c;從N個人中選出M個人進行錯排&#xff0c;即 C(n,m)*d[m]補充&#xff1a;組合數C(n,m)能用double計算嗎&#xff1f;第二部分有解釋 Part 1. 分別求出來組合數的分子和分母然后相除/******************************…

級聯sql

select ID, PID, NAME,KEY from HS_DICT start with KEY HS_EXP_WORK_LOCATIONconnect by prior ID PID order by DISPLAYORDER轉載于:https://www.cnblogs.com/dazhaxie/p/3483532.html

獲取母版中的控件

1 通過findcontrol找控件ID需要在此事件中~因為Page_load中時是先內容頁加載然后才是母版頁加載 protected void Page_LoadComplete(object sender, EventArgs e) { Label2.Text "現在時間是" (Master.FindControl("Label1") as Label).Text; if (Reques…

linux服務器選ubantu或centos_如何通過SSH連接阿里云上的Linux系統

首先SSH是啥&#xff0c;維基一下&#xff1a;Secure Shell&#xff08;安全外殼協議&#xff0c;簡稱SSH&#xff09;是一種加密的網絡傳輸協議&#xff0c;可在不安全的網絡中為網絡服務提供安全的傳輸環境[1]。SSH通過在網絡中創建安全隧道來實現SSH客戶端與服務器之間的連接…

face alignment by 3000 fps系列學習總結

我們主要講一講Github上給出的matlab開源代碼《jwyang/face-alignment》的配置。 首先聲明&#xff1a;本人第一次配置的時候也是參考了csdn一個作者和github給出的說明配置成功的。其實后來想想很簡單的&#xff0c;但是可能對于初學者&#xff0c;還是有一定的困難。為此&am…

paypal之nodejs 框架 Kraken-js 源碼分析

本文是基于 kraken-js 0.6.1 版本的 關于如何使用kraken-js 可以去看看官網的使用文檔 點擊這里 。kraken-js 是基于express之上的&#xff0c;目的在于讓工程師更多的去關注代碼邏輯&#xff0c;少關注自身的開發環境&#xff0c;所以他將express所有的一些公用的配置都寫在了…

go build 參數_Go語言 通過go bulid -tags 實現編譯控制

Go語言提供的build tag 條件編譯特性&#xff0c;顧名思義&#xff0c;只有在特定條件下才會構建對應的代碼。比如下面的源文件只有在設置debug構建標志時才會被構建&#xff1a;// build debugpackage mainvar buildMode "debug"可以用以下命令構建&#xff1a;go …

selinux 的管理

第十單元selinux 的管理一 顯示及更改 SELINUX 模式getenforce ###顯示selinux模式setenforce 0|1 ##0指permissive警告&#xff0c;1 表示 enforcing強制###vim /etc/sysconfig/selinux ###修改selinux開機狀態###注&#xff1a;disable表示關閉&…

ubuntu15.10下安裝opencv2.4.9python上調用opencv庫

對于centos&#xff0c;可以參考&#xff1a;Install OpenCV-Python in Fedora 如果IPP難以下載可以在cmake時禁掉它&#xff0c;只需&#xff1a;cmake -DWITH_IPPOFF OpenCV3.3CUDA9.0 安裝過程中遇到的問題&#xff0c;解析&#xff1a; https://blog.csdn.net/u014613745/a…

【轉】jquery 注冊事件的方法

原文鏈接&#xff1a;http://outofmemory.cn/code-snippet/2123/jquery-zhuce-event-method 1.使用事件名來綁定&#xff0c;可用的事件名有 change,click,dblclick,error,focus,focusin,focusout,keydown,keypress,keyup,mousedown,mouseenter,mouseleave,mousemove,mouseout,…

ffmpeg 時間戳

轉http://blog.csdn.net/yfh1985sdq/article/details/5721953 AVpacket里的時間戳pts和dts.單位好像是us. 問 : 時間戳pts和dts,這里兩個時間戳各有什么意義? 答 : 顯示時間,解碼時間. DTS&#xff1a;decoding time stamp PTS&#xff1a;presentation time stamp Generally …