算法竞赛学习路线

算法竞赛学习路线

一、适合人群

  • 准备蓝桥杯的同学;
  • 准备程序设计竞赛的同学;
  • 想提升编程思维和问题解决能力的同学。

二、学习阶段

阶段一:语言基础

建议掌握 C++,重点学习基础语法、函数、数组、字符串、结构体、STL。

阶段二:基础算法

枚举、模拟、排序、二分、前缀和、差分、双指针、贪心。

阶段三:数据结构

栈、队列、链表、哈希表、堆、并查集、树状数组、线段树基础。

阶段四:图论

DFS、BFS、最短路、最小生成树、拓扑排序、连通性问题。

阶段五:动态规划

线性 DP、背包 DP、区间 DP、树形 DP 入门、状态压缩 DP 入门。

三、训练方法

  1. 每周保持固定刷题量;
  2. 一题多解,理解不同方法;
  3. 写题解,记录思路;
  4. 定期参加模拟赛;
  5. 赛后复盘,不只看通过数量。