【模拟】高精度加、减、乘
【图论】图的表示:邻接矩阵,邻接表,边表
传递闭包和floyd
最小生成树算法(至少会一种)
单源最短路dijkstra(O(n2))或者bellman(spfa优化,O(km))
拓扑排序
【树】 树的先序、中序、后序遍历
树中的最长路(两遍bfs或者dfs)
并查集
【搜索】深搜、宽搜
【排序】冒泡排序、快速排序 选择排序 记数排序(又称“桶排”)
【动态规划】
01背包,无限背包
【数论】
最大公约数和最小公倍数,进制转换
【模拟】
表达式求值(中缀转后缀,栈的操作)、前缀表达式、中缀表达式、后缀表达式之间的相互转化
【树】线段树 字母树
【搜索】迭代深搜
【动态规划】
树形动态规划、最长不下降子序列、最长公共子序列和最长公共子串
【排序】归并排序、堆排序
【串】 KMP(字串匹配)
【数论】 判断质数(sqrt式与筛法求素数)
【有序表】顺序表、链表、线段树及其基本操作
【图论】
Dijkstra算法的堆优化、求割点、求割边、强连通分量、欧拉路(边一次)、汉密尔顿回路(点一次)、差分约束系统
【动态规划】
状态压缩的动态规划
【分治】二分查找、二分答案、最近点对
【树】 归并树(逆序对)
【其他】
Hash、矩形切割(与线段树的比较)
【数论】欧拉函数
【几何】线段相交
【有序表】树状数组
【树】 Lca(最近公共祖先)与rmq(区间最值)
【图论】匹配算法(最大匹配,最小点覆盖,最小路径覆盖,最大独立集)
网络流算法(最大流dinic,最小费用流spfa)
【动态规划】动态规划的优化(快速幂,改变状态,优化转移,单调性,四边形不等式)
【串】 Kmp扩展、AC自动机
【数论】 中国剩余定理、概率与期望
【几何】 最远点对(旋转卡壳) 、凸包(水平序和极角序)
、半平面交
【有序表】平衡树(sbt、treap、splay)后缀数组
【其他】随机化算法、高斯消元
温馨提示:答案为网友推荐,仅供参考