ACM训练必备知识点

图论

最短路的四种算法(floyd ,dijkstra ,bellman(可以计算负权值),spfa(队列优化的bellman)

最小生成树两种算法(Kruskal,Prim

树上经典问题(最小支配集,最大独立集,最小覆盖集,最长路等)

二分图匹配(匈牙利,KM)

拓扑排序

连通图(强连通,弱连通,重连通,单项连通,并查集)

网络流

2-SAT


动态规划

要学会递推实现和记忆化搜索实现

状态压缩

数位dp

背包/贪心(九大背包)

斜率优化

插头dp

FFT



字符串

AC自动机

KMP

后缀数组

字典树

LCP,LIS,LCS
RMQ


数论

扩展欧几里德(解方程,求逆元)

快速幂(矩阵快速幂)

快速判素数

进制转换(10进制不好处理的问题转为2进制之类)

欧拉函数

高斯消元

斯特林公式,斯特林数(两者不同,这几年重点)

博弈和概率论



组合数学

置换群(Polya加速)

Catalan(卡特兰数)

容斥原理



数据结构(就不包括树,图,搜索和排序了)+STL

链表(List)

栈(stack)

队列(queue),优先队列

set

map

vector




几何

各种基本几何运算

凸包

半平面交

最近点对,最远点对

模拟退火

圆与球的问题




搜索

广度优先(单向、双向)

深度优先

带权优先(A*)

二分搜索



树的常见问题(二叉树等)

森林的常见问题

树状数组

最大堆,最小堆

线段树

LCA

树的排序



排序

冒泡排序(稳定),插入排序(稳定),插入排序(不稳定)

快速排序(sort不稳定),归并排序(稳定),堆排序(不稳定),希尔排序(不稳定)

计数排序(稳定),桶排序(稳定),基数排序(稳定)







猜你喜欢

转载自blog.csdn.net/aaakirito/article/details/74923924
今日推荐