1、数学问题 ( 0/ 9 )
一、素数判断
二、分解质因数
三、欧几里德算法、扩展欧几里德算法、解同余方程
四、快速幂及相关模运算
五、进制转换
六、排列组合
七、高精度运算:加、减、乘、除(高精度除以单精度、高精度除以高精度)
八、欧拉函数
九、高斯消元
2、字符串(0/5)
一、KMP
二、字典树(Trie树 )
三、最长公共字串
四、最长回文字串(Manacher算法)
五、AC自动机
3、搜索专题(0/4)
一、深度优先搜索(DFS/回溯法)
二、广度优先搜索(BFS)
三、Dancing Links
四、搜索优化方法
4、DP专题(0/11)
一、背包问题:0/1背包、彻底背包
二、记忆化搜索
三、最长公共子系列(LCS)
四、最长不降低序列,O(N2)算法和优化后的O(NlogN)算法。
五、最大字段和
六、数位DP
七、树型DP
八、双路DP
九、区间DP
十、状态压缩
十一、单调性优化
5、数据结构(0/7)
一、栈、队列的远离和应用
二、哈希表
三、并查集
四、二叉堆(手写、STL优先队列都须要掌握)
五、最近公共祖先(LCA)
六、树状数组
七、线段树
6、图论(0/5)
一、最短路径(SPFA、Dijkstra等)及其使用范围
二、差分约束系统
三、最小生成树
四、拓扑排序
五、连通性判断:DFS、弗洛伊德、Tarjan算法及应用
7、其它(0/6)
一、快速排序(sort):数值排序、字符串排序(string类型)、多关键字排序
二、二分答案
三、三分答案
四、求逆序对
五、离散化思想
六、倍增思想