算法複習計劃

寫在前面

  • 隨着四月的到來, 離省選越來越近了.
  • 從NOIP到現在, 學到了很多很多東西, 有的學的比較深入, 有的只是略知一二
  • 從明天開始, 進行鍼對省選的算法複習計劃. 省選前完成.
  • 重點是對算法的理解和應用, 還會注重模板習慣的養成

計劃內容

1. 數據結構
  • 一直覺得我數據結構學的還可以, 不過列出來發現會的也沒多少.
  • 少就少吧, 省選夠用就行...
  • 線段樹
  • 樹狀數組
  • 並查集
  • 哈希表
  • STL
  • treap
  • splay
  • 樹鏈剖分
  • 主席樹(可忽略)
  • 字符串(KMP, 後綴數組)
2. 圖論
  • 掌握經典的算法, 並會應用是重點
  • 經常和動態規劃結合
  • 最短路(Floyed, 堆優化dijkstra, SPFA)
  • 最小生成樹(Prim, Kruskal), 以及生成樹相關
  • 強連通分量(Tarjan)
  • 拓撲排序
  • 歐拉路徑和哈密爾頓環
  • 橋和關鍵路徑
  • 二分圖
  • 其他(2-SAT, Floyed判圈)
3. 網絡流
  • 算法是基礎, 建模是關鍵
  • 多看原來做過的題目, 總結建模方法
  • 最大流, 最小割(Dinic)
  • 費用流(SPFA)
  • 上下界網絡流
  • 弄清時間複雜度...
4. 數學
  • 東西很多, 基本上都在訓練指南上有
  • 我數學不好, 所以會幾個基礎算法然後考試暴力吧.
  • 歸納法
  • gcd
  • 篩法求素數
  • 普通歐拉函數, 篩法求歐拉函數
  • 逆元(歐拉函數, 擴展歐幾里得), 預處理逆元
  • 容斥原理
  • 解線性模方程
  • 離散對數(BSGS)
  • 中國剩餘定理
  • 組合數, 盧卡斯定理
  • 莫比烏斯函數
  • 矩陣乘法(循環矩陣)
5. 搜索
  • 可能到時候就搜索可以用上
  • 然而我搜索練得少...
  • dfs
  • bfs
  • A*
  • IDA*
  • 啓發式dfs
  • 雙向dfs
  • 雙向bfs
  • 記憶化搜索
6. 動態規劃
  • 最好是想出動態規劃的方法來
  • 能否用動態規劃關鍵是看有無後效性和有無重疊子問題
  • 但有時看上去有後效性的問題可以轉化成沒有後效性
  • 什麼優化的就看着來了
  • 基本上不加優化部分分可能也能拿到少許
  • 棋盤型動態規劃
  • 序列型動態規劃
  • 揹包型動態規劃
  • 區間型動態規劃
  • 劃分型動態規劃
  • 路徑型動態規劃
  • 樹型動態規劃
  • 狀態壓縮動態規劃
  • 基於連通性的動態規劃
  • 斜率優化, 單調性優化, 凸殼(都不會)
7. 分治
  • 效率極高, 但一般想不到, 思路比較怪異
  • 如果滿足離線要求往往很BT
  • 逆序對
  • 二分, 三分
  • CDQ分治
  • 整體二分
8. 貪心
  • 發現從NOIP以來我還沒有做過一道貪心的題目
  • 但是思想很重要
  • 擬陣很神(就是沒看懂)
9. 羣論
  • 掌握的不好
  • Burnside引理
  • Polya定理
10. 離散化
  • 找過一般方法, 應該能應對一些題目
11. 計算幾何
  • 發現竟然忘了計算幾何
  • 注意不要去死記, 訓練指南上的代碼普適性好但還要因題而異, 有可能有更簡單的方法
  • 有時看不出是計算幾何但是可以轉化成計算幾何的題目, 比如半平面交之類的
  • 基本知識(差積、點積)
  • 凸包
  • 多邊形
  • 旋轉卡殼
  • 半平面交
12. 暴力技巧(亂搞)
  • 同樣是暴力, 有的人20分有的人就能40分.
  • 暴力也有技巧, 而且不一定學的算法多暴力寫的就好, 往往思維活躍的人暴力寫得好(Orz wxjlzbcd)
  • 大膽猜測不失爲一種好辦法.
發佈了119 篇原創文章 · 獲贊 4 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章