這次省賽被初中小朋友虐爆了。
然后中考快(到了)結束了。
迎接一下初中的小朋友。
整理一下個人認為MAS的OIer成長所需的練習。
目錄
零。說明
一。學習內容
二。練習題
三。推薦書目
四。資料
零。說明
-第一部分列舉了所有我所知道的要學的知識(不僅僅是的NOIP所需的知識),不要被數量嚇到,具體的人我可以具體推薦學習內容。
-可以直接跳到第二部分做練習,然后對照第一部分,看看自己掌握了那些知識。
-僅代表個人觀點,請以老師的要求為準。
-我也很弱,互相學習。
一。學習內容(不是很好區分難度,詳見練習題):
0.windos及linux基本的系統命令以及對拍方法。
1.基礎知識(待擴展,但覺得只要做USACO就可以掌握)
2.搜索(我們全隊都太弱了,一定要加強)
-N重循環
-BFS
=雙向
=判重
+HASH(尤其是字符串HASH)
+分段HASH
+各種數據結構判重(Tire數、平衡樹等)
=A*
-DFS
=各種剪枝
-ID-DFS
-ID-A*
-DLX
-近似算法及其他
=模擬退火
=遺傳算法
=隨機調整
=隨機貪心
3.DP(主要是自己做題總結,感悟+數學能力)
4.字符串操作
-c++的string
-KMP
-ExKMP
-最小表示法
-Tire樹
-AC自動機
-后綴數組
-后綴樹(好像被淘汰了)
-后綴自動機【這個可以忽略】
5.數據結構
-鏈表
=普通鏈表
=跳躍表
=Dancing links
-隊列
=普通隊列
=循環隊列
=單調隊列
-棧
=手工棧搜索
=表達式處理
-堆
=哈夫曼樹
=可合并堆
+左偏樹
+斜堆
+二項堆
-并查集
-樹狀數組
-線段樹(重點推薦)
-平衡樹
=紅黑樹(知道理論+會用set和map)
=AVL
=Treap
=超快SBT(重點推薦)
=萬能Splay(重點推薦)
-塊狀鏈表
-樹鏈剖分(我也不知道)
6.圖論與樹
-圖的聯通性
=floodfill
=BFS分層
=兩次BFS求強連通分量
=拓撲排序
=關鍵路徑
=求環
=歐拉回路
=漢密爾頓回路
=Tarjan算法
+求強連通分量
+求割點
+求橋
-最短路
=floyd
=dijstra
=SPFA
=dijstra+heap
=Bellman-ford求差分約束系統
=floyd*求最小環
=K短路
=限制條件最短路
=分層圖最短路
=狀態壓縮最短路
-生成樹
=prim
=Kruskal
=prim+heap
=破環法求最小生成樹
=動態最小生成樹
=次小生成樹
=最大價值比生成樹
=特殊生成樹
=統計生成樹的個數(組合數學)
-樹上問題
-LCA和RMQ
-節點到根的距離
-樹的直徑
-樹的中心
-任意點對間距離
- 2-SAT問題
7.網絡流(我總結在了第三本筆記本)
-二分圖
=匈牙利算法
=KM算法
=覆蓋集與獨立集
=最小路徑覆蓋
-最大流
=DINIC
=SAP
=HLLP
=有上下界的最大流
-最小割
=求當前流的最小割
=平面圖最小割轉最短路
=閉合圖
=最小點權覆蓋集與最大獨立點權集
=0/1分數規劃
=最大密度子圖
-費用流
=最短路增廣費用流
=zkw-費用流最小費用可行流
-構圖技巧(請學習網絡流24題,作者:郭家寶)
8.數論(我總結在了最終筆記本)
-gcd
=stein算法
=歐幾里得算法
=拓展歐幾里得算法
-質數
=MR測試
=快速冪
=sqrt(n)判定
=反質數
=算數基本定理及推論
-同余
=威爾遜定理
=費馬小定理
=歐拉定理
=中國剩余定理
-進制相關
=精制轉換=高精循環小數
=Self-number
-其他
=px+qy命題
=求n!位數的方法及推廣
=P^xTm!的應用
9.組合數學(還未學習)
10.計算幾何(還未學習)
11.博弈論(還未學習)
12.概率論(還未學習)
13.高等數學與線性代數(正在學習)
二。練習題
NOIP:
-USACO-C1~C4(我AC了)
-大部分NOIP真題
省選:
-所有NOIP真題(我差一點)
-部分NOI真題(基本沒有做)
-USACO-C5~C6(我AC了)
-SGU能做多少做多少(我還沒做)
更高更妙:(完全非我所及,但你們會超過我的)
-USACO上的各種比賽
- www.topcoder.com/tc - www.codeforces.com 說明:
http://hi.baidu.com/buaa_babt/blog/item/522fb239ef912cdc7d1e71b5.html 三。推薦書目(我買了好多書放在二中)
四。資料(還未整理)