ACM基礎算法入門及題目列表


對於剛進入大學的計算機類同學來說,算法與程序設計競賽算是不錯的選擇,因為我們每天都在解決問題,鍛煉着解決問題的能力。

這里以TZOJ題目為例,如果為其他平台題目我會標注出來,同時我的主頁也歡迎大家去訪問,探索新平台去提高自己

ACM競賽隨機性會比較大,所以新手請掌握好基礎,基礎不牢,地動山搖(大一上)

  1. C語言題 包括TZOJ1452在內的60道C語言實驗題,可以利用OJ的搜索,由於這種題目比較多,就不一一列舉
  2. 暴力枚舉 3449 5125 4604 2626
  3. 遞歸 1483 
  4. 模擬 1093 3715 3726 3727 4391 1148
  5. 構造 這種題往往在CF中會遇到 刷題集點這里,就是都是英文題

TZOJ200題以后可以嘗試着去刷一些簡單的算法(大一上以及大一下)

  1. 前綴后綴和 1532 4262
  2. 二分 5629 1597 1041 3044(二分100次)
  3. 排序(歸並排序) 2452
  4. 貪心 1332 5059 1004 3110 4493
  5. dfs 2777 4408 4833 3104 3360 
  6. bfs 3533 1335 1748 3031

TZOJ300題以后可以嘗試着去刷一些簡單的算法和數據結構,要參加天梯賽就得刷會了(大一下以及大二上)

  1. 並查集 1299 1278 1540 1612 1638 1840 1856 2574 2647 2648 2649 2769 3136 3197 3246 3274 3644 3645 3649 3660 4692 4915
  2. 最短路(Floyd Dijkstra Bellman-Ford[SPFA])
  3. 最小生成樹(Kruskal Prim) 1300 5263 2371 2415 3451 2737 2815
  4. stl的應用
  5. 拓撲排序

TZOJ500題左右就可以入門算法了,在省賽中往往用得到。這里也非常推薦一個題目集USCAO

  1. 背包 台州學院基礎算法學習之背包 
  2. 容斥 
  3. 圖論基礎 
  4. 凸包 
  5. 樹狀數組 
  6. 字典樹 
  7. 矩陣快速冪 

之后大概每個隊伍都要分方向了,建議可以打打CF atcoder Wannafly hiho

隊伍中有一個人嘗試下51nod 的三級算法題或五級算法題

內容往往不是割裂的,而是組合的

圖論方向

  1. 二分圖
  2. 網絡流 
  3. 強連通分量
  4. 割邊和割點
  5. 樹的直徑
  6. LCA(最近公共祖先)
  7. 差分約束
  8. 樹分塊

動態規划方向

  1. 最長上升(不下降等等)子序列
  2. 區間DP
  3. 環形DP
  4. 狀壓DP
  5. 概率DP
  6. 樹形DP
  7. 單調隊列優化DP

數據結構方向

  1. 線段樹
  2. 莫隊

字符串方向

  1. KMP 2897
  2. HSAH
  3. AC自動機
  4. SA(后綴數組)
  5. SAM (后綴自動機)

組合數學方向

  1. 母函數
  2. 線性求逆元
  3. 組合數  51nod 1829
  4. 組合數學上的dp累加 

計算幾何方向

  1. 掃描線 Color it
  2. 線段求交
  3. 半平面交 
  4. 隨機化算法 

數論方向

  1. 費馬小定理 3151 
  2. 擴展歐幾里得 3343
  3. 高斯消元 1676 2968
  4. 歐拉函數 3303
  5. 莫比烏斯函數 
  6. 積性函數 
  7. FFT(快速傅里葉變換) 5482 Gym - 101667H  CodeForces - 528D 
  8. Miller-Rabin 素數檢測 2646 4383
  9. RSA等加密算法 1196

線段求交 5625

計算機網絡配置 Gym 100623A

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM