算法竞赛入门到进阶 --- 完整学习路线(含知识点讲解)


前言:

咳咳,接触算法竞赛也有一年了,却从来都没有进行过一次系统的学习,稀里糊涂的就这么搞了半年,如今,我决定认认真真的进行一次系统的复盘。嗯嗯,先把大体路线列出来,然后往后每天搞几篇,可能大三能完成,可能永远也不能写完这些,我只能慢慢来,一起共勉吧。冲了!(主要是太菜了,不系统学习下,怕是铜牌都拿不到呀!)

算法竞赛入门到进阶

    • 一、sort函数自定义排序
    • 二、c++容器的使用
      • 1.vector动态数组
      • 2.stack栈
      • 3.queue队列
      • 4.list链表
      • 5.set集合
      • 6.map映射
    • 三、二进制子集生成
    • 四、bfs广搜(队列)
      • 1.八数码问题*
    • 五、dfs深搜(栈)
      • 1.N皇后问题*
    • 六、并查集
    • 七、二叉树
      • 1.已知前序中序求后序*
      • 2.已知后序中序求前序*
      • 3.二叉搜索树(BST)
      • 4.Treap树(平衡树简单的一种)
      • 5.伸展树(Splay树)
      • 6.线段树(RMQ问题)
      • 7.树状数组(BIT)
    • 八、基本贪心法
    • 九、分治法
      • 1.归并排序问题*
      • 2.快速排序问题*
    • 十、基本DP(动态规划)
      • 1.01背包问题*
      • 2.最长公共子序列问题*
      • 3.最长递增子序列问题*
      • 4.区间DP
      • 5.树形DP
      • 6.数位DP
      • 7.状压DP
    • 十一、数论
      • 1.快速幂取模
      • 2.矩阵快速幂
      • 3.快速乘取模
      • 4.快速GCD、一句话GCD、内置GCD函数
      • 5.扩展欧几里得算法
      • 6.同余与逆元
      • 7.基本素数
      • 8.素数打表法
    • 十二、组合数学
      • 1.吃糖果问题*
      • 2.杨辉三角问题*
      • 3.斐波那次数列*(Fibonacci)
      • 4.概率和数学期望
    • 十三、博弈论
      • 1.巴什游戏*
      • 2.P-position、N-position
      • 3.尼姆游戏*
      • 4.Sprague-Grundy函数*
      • 5.威佐夫游戏*
    • 十四、字符串
      • 1.字符串替换问题*
      • 2.字典树
      • 3.KMP算法
      • 4.AC自动机
      • 5.后缀树
      • 6.后缀数组
    • 十五、图论
      • 1.图的储存方式
      • 2.基本遍历和连通性
      • 3.拓扑排序
      • 4.欧拉路(回路判断)
      • 5.无向图
      • 6.双连通分量
      • 7.有向图
      • 8.Kosaraju算法
      • 9.Tarjan算法
      • 10.2-SAT问题*
    • 十六、最短路问题(非常重要,所以单独列出来)
      • 1.Floyd-Warshall算法
      • 2.Bellman-Ford算法
      • 3.SPFA算法
      • 4.Dijkstra算法
    • 十七、最小生成树
      • 1.prim算法
      • 2.kruskal算法
    • 十八、最大流
      • 1.Ford-Fulkerson算法
      • 2.Edmonds-Karp算法
      • 3.Dinic算法和ISAP算法
      • 4.最小割
      • 5.最下费用最大流
      • 6.二分图匹配
    • 十九、二维几何
      • 1.点和向量
      • 2.点积和叉积
      • 3.点和线
      • 4.多边形
      • 5.凸包
      • 6.最近的点对
      • 7.旋转卡壳
      • 8.半平面交
      • 9.圆和点、线的关系
      • 10.最小圆覆盖
    • 二十、三维几何
      • 1.三维点积
      • 2.三维叉积
      • 3.三维覆盖
      • 4.三维凸包
    • 二十一、几何模板熟记
      • 1.平面几何板子:点和线
      • 2.平面几何板子:多边形
      • 3.平面几何板子:圆
      • 4.三维几何

一、sort函数自定义排序

  • 点击了解知识点(这是一个文章链接)

二、c++容器的使用

1.vector动态数组

  • 点击了解知识点(这是一个文章链接)

2.stack栈

  • 点击了解知识点(这是一个文章链接)

3.queue队列

  • 点击了解知识点(这是一个文章链接)

4.list链表

  • 点击了解知识点(这是一个文章链接)

5.set集合

  • 点击了解知识点(这是一个文章链接)

6.map映射

  • 点击了解知识点(这是一个文章链接)

三、二进制子集生成

  • 点击了解知识点(这是一个文章链接)

四、bfs广搜(队列)

1.八数码问题*

五、dfs深搜(栈)

1.N皇后问题*

  • 点击了解知识点(这是一个文章链接)

六、并查集

七、二叉树

1.已知前序中序求后序*

2.已知后序中序求前序*

3.二叉搜索树(BST)

4.Treap树(平衡树简单的一种)

5.伸展树(Splay树)

6.线段树(RMQ问题)

7.树状数组(BIT)

八、基本贪心法

九、分治法

1.归并排序问题*

2.快速排序问题*

  • 点击了解知识点(这是一个文章连接)

十、基本DP(动态规划)

1.01背包问题*

2.最长公共子序列问题*

3.最长递增子序列问题*

4.区间DP

5.树形DP

6.数位DP

7.状压DP

十一、数论

1.快速幂取模

2.矩阵快速幂

3.快速乘取模

4.快速GCD、一句话GCD、内置GCD函数

5.扩展欧几里得算法

6.同余与逆元

7.基本素数

8.素数打表法

十二、组合数学

1.吃糖果问题*

2.杨辉三角问题*

3.斐波那次数列*(Fibonacci)

4.概率和数学期望

十三、博弈论

1.巴什游戏*

2.P-position、N-position

3.尼姆游戏*

4.Sprague-Grundy函数*

5.威佐夫游戏*

十四、字符串

1.字符串替换问题*

2.字典树

3.KMP算法

4.AC自动机

5.后缀树

6.后缀数组

十五、图论

1.图的储存方式

2.基本遍历和连通性

3.拓扑排序

4.欧拉路(回路判断)

5.无向图

6.双连通分量

7.有向图

8.Kosaraju算法

9.Tarjan算法

10.2-SAT问题*

十六、最短路问题(非常重要,所以单独列出来)

1.Floyd-Warshall算法

2.Bellman-Ford算法

3.SPFA算法

4.Dijkstra算法

十七、最小生成树

1.prim算法

2.kruskal算法

十八、最大流

1.Ford-Fulkerson算法

2.Edmonds-Karp算法

3.Dinic算法和ISAP算法

4.最小割

5.最下费用最大流

6.二分图匹配

十九、二维几何

1.点和向量

2.点积和叉积

3.点和线

4.多边形

5.凸包

6.最近的点对

7.旋转卡壳

8.半平面交

9.圆和点、线的关系

10.最小圆覆盖

二十、三维几何

1.三维点积

2.三维叉积

3.三维覆盖

4.三维凸包

二十一、几何模板熟记

1.平面几何板子:点和线

2.平面几何板子:多边形

3.平面几何板子:圆

4.三维几何

改革尚未成功,同志仍需努力!!!

你可能感兴趣的:(算法,c++,acm竞赛,算法)