信息学竞赛知识提纲

仅供参考

复习知识

基础算法

1    高精度

1.1   加法

1.2   减法

1.3   乘法

1.4   高精/底精

1.5   高精/高精

2    排序

2.1   选择排序

2.2   插入排序

2.3   归并排序

2.4   快速排序

3    搜索

3.1   BFS

3.2   DFS

3.3   状态空间搜索

3.3.1  状态压缩

3.4   迭代加深搜索

3.5   A*

4    贪心

4.1   区间

4.1.1 区间选点

4.1.2 区间覆盖问题

4.1.3 选择不相交区间

4.2   背包

4.2.1 最优装载

4.2.2 部分背包

4.2.3 乘船问题

4.3   Huffman树\编码

5    二分

5.1   分治

5.2   二分查找

6    动态规划

6.1   DAG

6.1.1 固定起点最长/短路

6.1.2 不固定终点最长路

6.2   线性

6.2.1 LIS

6.2.2 LCS

6.2.3 矩阵链乘

6.2.4 最优三角剖分

6.3   背包

6.3.1 01背包

6.3.2 完全背包

6.3.3 多重背包

6.3.4 二维背包

6.3.5 分组背包

6.3.6 背包方案总数

6.4   树形

6.4.1 树的最大独立集

6.4.2 树的重心

6.4.3 树的最长路径

6.5   其他

6.5.1 最优配对问题

6.5.2 TSP

6.5.3 图的色数

6.6   优化

6.6.1 四边形不等式优化动态规划

6.6.2 单调队列优化动态规划

6.6.3 状态优化

数据结构

1    栈

1.1   表达式计算

1.2   括号匹配

1.3   DFS

2    队列

2.1   环形队列

2.2   单调队列

2.2.1 滑动窗口

2.3   BFS

3    树

3.1   二叉树

3.1.1 建立

3.1.2 存储

3.1.3 遍历

3.1.4 删除

3.1.5 插入

3.2   二叉排序树

3.2.1 普通的搜索树

3.2.2 Treap

3.2.3 Splay

3.3   区间数据维护

3.3.1 树状数组

3.3.2 线段树

4    堆

4.1   Put插入元素

4.2   Get获取并删除最小值

4.3   堆排序

5    图论

5.1   图的储存

5.1.1 邻接矩阵

5.1.2 邻接表

5.2   遍历

5.2.1 DFS

5.2.2 BFS

5.2.3 欧拉路

5.2.4 欧拉回路

5.2.5 哈密尔顿环

5.3   最短路问题

5.3.1 Floyd

5.3.2 Dijkstra

5.3.3 Ford

5.3.4 SPFA

5.3.5 次短路

5.3.6 第K短路

5.4   连通问题

5.4.1 Floyd求连通

5.4.2 遍历求连通

5.4.3 求最小环

5.4.4 Kosaraju算法

5.4.5 Tarjan算法

5.4.5.1 缩点

5.5   并查集

5.5.1 并查集的建立(初始化)

5.5.2 寻找根节点

5.5.3 合并

5.5.4 求连通块

5.6   最小生成树

5.6.1 Prim

5.6.2 Kruskal

5.7   拓扑排序

5.7.1 拓扑排序

5.7.2 关键路径

5.8   网络流

5.8.1 最小割最大流

5.8.1.1 增广路算法

5.8.1.1.1   Edmonds-Karp

5.8.1.1.2   Dinic

5.8.1.1.3   ISAP

5.8.1.2 求二分图最大匹配

5.8.2 最小费用流

5.8.2.1 求最大权完美匹配

5.8.3 最小费用循环流

5.9   其他

5.9.1 无根树转有根树

5.9.2 表达式树

6    Hash表

6.1   STL set实现

数论

1    欧几里得算法

1.1   欧几里得算法

1.2   拓展欧几里得算法

2    唯一分解定理

3    筛选法

4    同余与模运算

4.1   Mod的性质

4.2   快速幂

4.3   模线性方程组

5    计数与概率

5.1   加法原理

5.2   乘法原理

5.3   容斥原理

5.4   求有重复元素全排列个数

5.5   求可重复选择的组合个数

转载于:https://www.cnblogs.com/flyinthesky1/p/6384261.html

你可能感兴趣的:(信息学竞赛知识提纲)