[原文鏈接]http://www.coderspace.net/bbs/viewthread.php?tid=119&extra=page%3D1
看了這份非官方的NOIp大綱,還是弱不禁風(fēng).不過(guò)分治、貪心似乎被無(wú)視了.
目前指熟練掌握了1/3,還有近1/2的部分不熟練,聯(lián)想起"不要總想著AC",需要大量做題了.
排序:
(1,5)冒泡/選排(這個(gè)很常用,一定要保證正確性)
(2,5)快排(Pascal選手可以去FPC文件夾里找代碼,C/C++選手注意sort的正確性)
(3,4)歸并排序(最好要會(huì),因?yàn)橛锌赡苡蓄}要卡快排)
數(shù)據(jù)結(jié)構(gòu):
(2,2)循環(huán)隊(duì)列(節(jié)省空間用)
(2,4)單調(diào)隊(duì)列(DP里經(jīng)常用)
(1,3)完全二叉樹(shù)的數(shù)組存儲(chǔ)
(2,5)并查集(一定要會(huì)路徑壓縮)
(3,4)圖的前向星存法
(4,2)Trie樹(shù),后綴數(shù)組(這些學(xué)過(guò)的就再復(fù)習(xí)一下,沒(méi)學(xué)過(guò)就不用看了,估計(jì)考的概率不大)
(3,2)森林轉(zhuǎn)二叉樹(shù)(樹(shù)狀DP常用)
動(dòng)態(tài)規(guī)劃:
(1,5)基本的背包問(wèn)題(一定要熟練寫(xiě)出方程,尤其注意邊界的取值)
(3,4)多線程DP(二取方格數(shù))
(3,2)LIS的二分優(yōu)化
(2,4)DP的隊(duì)列優(yōu)化(LCIS,單調(diào)隊(duì)列很常用的)
(3,4)樹(shù)狀DP(其實(shí)就是記憶化搜索,很好理解)
圖論:
(1,5)最短路(dijkstra,floyd,spfa)
(2,5)最小生成樹(shù)(prim,kruskal)
(2,5)拓?fù)渑判?br style="LINE-HEIGHT: normal; WORD-WRAP: break-word">(2,3)floyd求最小環(huán)
(3,4)求(有向/無(wú)向)圖的強(qiáng)連通分量
(1,3)判斷圖中是否有環(huán)
(3,2)圖的關(guān)鍵路徑
(4,1)差分約束系統(tǒng)(就是求最長(zhǎng)路,用spfa)
其他:
(2,4)RMQ問(wèn)題的ST算法(LCA問(wèn)題也可以轉(zhuǎn)化為RMQ問(wèn)題)
(4,5)高精度的加減乘除開(kāi)方(開(kāi)方一般情況下直接二分比較方便)
(3,4)表達(dá)式求值(棧或并查集皆可,一般來(lái)說(shuō)并查集比較容易實(shí)現(xiàn))
(2,2)擴(kuò)展歐幾里得算法(解同余方程用)
(1,5)乘法轉(zhuǎn)加法神器:log
(1,4)求最大子序列和的備忘錄算法
(2,3)位運(yùn)算優(yōu)化搜索(N皇后問(wèn)題,建議去USACO做一下)
(4,2)搜索剪枝(推薦做USACO的fence rail那題)