ACM知识点分类
(知識(shí)點(diǎn)分類(lèi)。看完想(╯‵□′)╯︵┻━┻)
orz...一點(diǎn)點(diǎn)來(lái)吧。簡(jiǎn)單標(biāo)記一下。
藍(lán)色,比較熟悉,能夠做。
藍(lán)綠色,一般熟悉,需要加強(qiáng)
紅色,(比個(gè)辣雞.jpg)
(標(biāo)記完突然想打人。。。)
第一類(lèi):基礎(chǔ)算法
(1)?????基礎(chǔ)算法:枚舉,貪心,遞歸,分治,遞推,構(gòu)造,模擬
(2)?????動(dòng)態(tài)規(guī)劃:背包問(wèn)題,樹(shù)形dp,狀態(tài)壓縮dp,單調(diào)性?xún)?yōu)化,插頭dp
(3)?????搜索:dfs,bfs,記憶化搜索,優(yōu)化與剪枝,雙廣,A*,IDA*,跳舞鏈
?
第二類(lèi):數(shù)據(jù)結(jié)構(gòu)
(1)?????簡(jiǎn)單數(shù)據(jù)結(jié)構(gòu):鏈表,棧和隊(duì)列,串,樹(shù)和二叉樹(shù),圖,排序與檢索
(2)?????樹(shù)形結(jié)構(gòu):線段樹(shù),樹(shù)狀數(shù)組,字典樹(shù),伸展樹(shù),左偏樹(shù),動(dòng)態(tài)樹(shù),lca&rmq,劃分樹(shù),SBT
(3)?????字符串:kmp,AC自動(dòng)機(jī),后綴數(shù)組,最小表示法
(4)?????其他:并查集,散列表,塊狀鏈表,雙向鏈表
?
?
第三類(lèi):圖論
(1)?????最短路:dijkstra,bellman-ford(spfa優(yōu)化),floyd,heap+dijkstra?,差分約束,第K最短路
(2)?????生成樹(shù):prim,kruskal,?度限制最小生成樹(shù), 最優(yōu)比率生成樹(shù), 次小生成樹(shù), 最小樹(shù)形圖,生成樹(shù)的計(jì)數(shù),樹(shù)的劃分,樹(shù)的枚舉
(3)?????匹配問(wèn)題:二分圖的最大匹配 (匈牙利算法),KM,2-SAT,同構(gòu)
(4)?????網(wǎng)絡(luò)流:最大流,最小費(fèi)用最大流,最小割模型、網(wǎng)絡(luò)流規(guī)約
(5)?????其他:拓?fù)渑判?#xff0c;雙連通分量,強(qiáng)連通分支及其縮點(diǎn),圖的割邊與割點(diǎn),無(wú)向圖、有向圖的最小環(huán),歐拉路徑,哈密頓路徑,平面圖,分層圖思想,偶圖
?
?
第四類(lèi):數(shù)學(xué)
(1)?????數(shù)論:素?cái)?shù)和整除問(wèn)題,進(jìn)位制,同余模算術(shù),整數(shù)因子分解,GCD,擴(kuò)展歐幾里得,求解模線性方程,中國(guó)余數(shù)定理,元素的冪,RSA公鑰加密
(2)?????組合數(shù)學(xué):加法和乘法原理,排列組合,遞推關(guān)系和母函數(shù),容斥原理,抽屜原理,置換群與Polya定理,MoBius反演,偏序關(guān)系理論
(3)?????計(jì)算方法:二分法求解單調(diào)函數(shù)相關(guān)知識(shí),三分法求解單峰(單谷)的極值,矩陣法,迭代逼近,高斯消元法,隨機(jī)化算法,0/1分?jǐn)?shù)規(guī)劃
(4)?????高精度問(wèn)題擴(kuò)展:求倒數(shù),求乘冪,求開(kāi)方,求對(duì)數(shù),二分快速方法,對(duì)指函數(shù),三角函數(shù),數(shù)值計(jì)算的優(yōu)化
(5)?????其他:博弈論,線性規(guī)劃,整數(shù)規(guī)劃,概率問(wèn)題,多項(xiàng)式與快速傅里葉,數(shù)學(xué)思想與方法的綜合運(yùn)用(構(gòu)造,猜想,歸納法,反證法)
?
?
第五類(lèi):計(jì)算幾何
(1)??????????判斷線段相交,判斷直線相交,判斷點(diǎn)是否在多邊形內(nèi),
(2)??????????凸多邊形面積&重心計(jì)算,求外接圓與內(nèi)接圓,
(3)??????????求凸包,最近點(diǎn)對(duì)問(wèn)題,最遠(yuǎn)點(diǎn)對(duì)問(wèn)題,
(4)??????????點(diǎn)集或圖形集合的最小覆蓋圓,點(diǎn)集或圖形集合的最小覆蓋矩形,
(5)??????????矩形的交與并(掃描法),
(6)??????????三角剖分,費(fèi)爾馬點(diǎn)的計(jì)算,Pick定理
(7)??????????常用幾何公式
?
【轉(zhuǎn)載】http://blog.csdn.net/xuanandting/article/details/52160859 (訓(xùn)練計(jì)劃值得一看)
第一階段:練經(jīng)典常用算法,下面的每個(gè)算法給我打上十到二十遍,同時(shí)自己精簡(jiǎn)代碼,因?yàn)樘S?#xff0c;所以要練到寫(xiě)時(shí)不用想,10-15分鐘內(nèi)打完,甚至關(guān)掉顯示器都可以把程序打出來(lái)。
?
1.最短路(Floyd、Dijstra,BellmanFord)?
2.最小生成樹(shù)(先寫(xiě)個(gè)prim,kruscal要用并查集,不好寫(xiě))?
3.大數(shù)(高精度)加減乘除
4.二分查找.?(代碼可在五行以?xún)?nèi))?
5.叉乘、判線段相交、然后寫(xiě)個(gè)凸包.?
6.BFS、DFS,同時(shí)熟練hash表(要熟,要靈活,代碼要簡(jiǎn))?
7.數(shù)學(xué)上的有:輾轉(zhuǎn)相除(兩行內(nèi)),線段交點(diǎn)、多角形面積公式.?
8.?調(diào)用系統(tǒng)的qsort,?技巧很多,慢慢掌握.?
9.?任意進(jìn)制間的轉(zhuǎn)換
?
第二階段:練習(xí)復(fù)雜一點(diǎn),但也較常用的算法。?
如:?
1.?二分圖匹配(匈牙利),最小路徑覆蓋?
2.?網(wǎng)絡(luò)流,最小費(fèi)用流。?
3.?線段樹(shù).?
4.?并查集。?
5.?熟悉動(dòng)態(tài)規(guī)劃的各個(gè)典型:LCS、最長(zhǎng)遞增子串、三角剖分、記憶化dp?
6.博弈類(lèi)算法。博弈樹(shù),二進(jìn)制法等。?
7.最大團(tuán),最大獨(dú)立集。?
8.判斷點(diǎn)在多邊形內(nèi)。?
9.?差分約束系統(tǒng).?
10.?雙向廣度搜索、A*算法,最小耗散優(yōu)先.
?
第三階段:
????前兩個(gè)階段是打基礎(chǔ),第三階段是鍛煉在比賽中可以快速建立模型、想新算法。這就要平時(shí)多做做綜合的題型了。?
1.?把oibh上的論文看看(大概幾百篇的,我只看了一點(diǎn)點(diǎn),呵呵)。?
2.?平時(shí)掃掃zoj上的難題啦,別老做那些不用想的題.(中大acm的版主經(jīng)常說(shuō)我挑簡(jiǎn)單的來(lái)做:-P?)?
3.?多參加網(wǎng)上的比賽,感受一下比賽的氣氛,評(píng)估自己的實(shí)力.?
4.?一道題不要過(guò)了就算,問(wèn)一下人,有更好的算法也打一下。?
5.?做過(guò)的題要記好?:-)
轉(zhuǎn)載于:https://www.cnblogs.com/changer-qyz/p/8448171.html
總結(jié)
- 上一篇: [转]30个总结JVM虚拟机的技术文排版
- 下一篇: 标准差(Standard Deviati