【NOIP複賽知識點簡述】涉及面廣而簡潔精煉
NOIP複賽知識點簡述
全國青少年資訊學奧林匹克聯賽(National Olympiad in Informatics in Provinces,簡稱NOIP)
轉眼已到了下半年,馬上將迎來一場重要的比賽——NOIP。
考前趕緊來總結一下一些必要的知識點。
普及組必學
1、模擬演算法(暴力列舉),按照題目的要求,題目怎麼說就怎麼做,保證時間和正確性即可。
2、搜尋與回溯,主要的是DFS(深度優先搜尋)和BFS(寬度優先搜尋),基本沒有直接的暴力搜尋。一般是記憶化搜尋加剪枝,普及組第三題難度。
3、簡單操作:如篩法、字首和、快速冪、高精度、輾轉相除法等,掌握全面即可應對大部分處理資料上的問題。
4、佇列(單調佇列)、棧、堆、連結串列等基礎資料結構。
5、簡單二分和分治(快速排序,歸併排序)。
6、貪心,要保證貪心的正確性,如果無法證明也可以用來騙分。
7、數學知識、公式計算,要點在於公式的化簡與變形,經過反覆操作後也許就能得出重要結論。
8、簡單的動態規劃,容易推出狀態轉移方程,要注意初值與計算邊界條件。
9、字串基本操作,插入、刪除、查詢等。
10、經典例題變形加深:八皇后、馬的走法、揹包問題等。
提高組必學
0、普及組的10條。
1、較難的動態規劃,多維的狀態,轉移方式較多。
2、簡單數論,如擴充套件GCD,尤拉函式等。
3、進階演算法:倍增,並查集,差分約束、拓撲排序,排列組合數,逆元,雜湊。
4、最短路問題,需要掌握弗洛伊德演算法、SPFA演算法、dijkstra演算法,以及它們對應的優化,再根據題目實際要求進行變形,用同樣模板達到各種不一樣的效果。
5、最小生成樹問題,主要的兩種演算法為Prim和Kruskal,同樣要加上對應的優化,再根據題目進行變形,以滿足題目的實際要求。
6、二分圖染色、二分圖匹配,一般題目都隱藏得很深,需要找到題目的本質,才能發現正確的解法。
7、強連通分量Tarjan,最近公共祖先LCA。
8、資料結構:線段樹、字典樹、主席樹、樹狀陣列等。
9、樹的更多操作:樹鏈剖分、樹的直徑、樹的重心等。
10、字串操作:KMP等。
更多拓展
大部分是省賽內容,如果想NOIP取得好成績的話,挑一些簡單的學習一下吧!
搜尋
啟發式搜尋(A*)
迭代加深
IDA*
隨機化搜尋
圖論
網路流
仙人掌演算法
樹
平衡樹
樹套樹
圓方樹
線段樹合併
數學
容斥原理
莫比烏斯反演
中國剩餘定理
尤拉定理
矩陣乘法
FFT
博弈論相關
計算幾何
字串
字串雜湊
AC自動機
字尾陣列
字尾自動機
迴文自動機
manacher
面對這些演算法與資料結構,你是不是已經手足無措了呢?那就趕緊來學習吧!
相互學習,相互進步,加油!