CSP2019復習指南
知識點(大綱)內容參考於本人博客:
算法
基本算法:
模擬、暴力枚舉、排序、貪心、遞歸、遞推、貪心、二分、位運算
這些算法不再在此加以贅述,如有考前還不太懂的同學請盡快補習!
進階算法
- 分治和歸並排序:
(附:)
- 二分:
- 差分和樹上差分:
- 位運算:
搜索
搜索是一種算法,但是把它單獨拉開做一個專輯來訓練。如果對搜索的基本概念和深搜、廣搜還不是很了解的同學,以及不會寫爆搜的同學,請盡快補習!!
- 剪枝:
動態規划(DP)
動態規划也是一種算法,但它在算法競賽中的作用甚至要等於其他算法的總和,光是這一種算法的衍生和派生算法以及各種次分類就有很多的學問。所以單獨拿出一個專欄來講。對於基礎動態規划即線性動態規划不了解的同學請盡快補習!!再次重申,動態規划非常重要!!
- 背包問題:
- 期望DP:
- 狀壓DP:
數學
由於年齡參差不齊,一般來講\(NOIP\)中不會涉及太多的數學知識。但是這並不絕對,不涉及文化課上太深的數學知識不代表不考數學。數學推導和基礎數學知識不僅鍛煉思維,而且對聯賽也有很大幫助。
基本數學:
- 質數和約數:
- 最大公約數(GCD):
稍難數學:
- 互質和歐拉函數:
- 擴展GCD:
- 概率論:
- 組合數學:
- 0/1分數規划:(選擇掌握)
圖論
關於圖論,有一篇專門總結的講解請戳這里:
圖論的相關知識是OI中比較好玩的一類運籌學知識。學圖論要比學數論好玩多了(滑稽)
對於基本圖論問題,包括圖的概念、圖的遍歷、最短路和最小生成樹算法這些東西還不是很了解的同學請猛戳上面的總結博客鏈接補習!!
進階圖論:
- 拓撲排序(其實這個不算進階圖論...):
- LCA(最近公共祖先)問題:
- DFS序:
- 樹鏈剖分:(選擇掌握)
數據結構
有一句話怎么說的來着?外國人擅長數學,中國人擅長數據結構。所以中國能AKIOI
一些基礎數據結構,如棧和隊列等,如果掌握的還不是很好,請盡快自行補習!!
簡單的數據結構:
- 鏈表:
- 堆:
- C++STL:
稍微復雜的數據結構:
- 分塊:
- 樹狀數組&線段樹:
- 字符串Hash:
小技巧
各種必須掌握好用的小技巧~~
- 離散化:
- 快速冪、快速乘:
- 暴力生成全排列:
- 雙指針(尺取法):
- 快讀&快寫:
希望對各路神仙有所幫助~~
祝路過的大佬們\(CSP2019RP++\)!
給推薦我還祝你\(AK\)