这是暑假培训时候,学长给的学习路线(当然里面还要很多知识点没有,毕竟是入门):
-
位运算,矩阵快速幂(比较简单,一般不会是解题的关键)
例题链接:位运算基础题 矩阵快速幂
-
STL入门了解(STL很强大,能简单我们的代码)
-
排序和逆序对(了解集重不同的排序方式,当然sort()更好用)
例题:稳定排序 sort简单排序
-
DFS和BFS(这个东西,感觉比较万能(可能和我写的题有关)了解思想是关键,基本可以串着用
例题:模板题1 模板题2
-
最短路径(某一顶点(源点)到达另一顶点(终点)的最短路径,方法有Dijkstra,Floyd)
例题:模板1 模板题2
-
最小生成树(方法有Kruskal算法和Prim算法)
例题 模板题1 模板题2
-
二分,三分(在题目中一般为辅助作用)
例题 模板题1 模板题2
-
二叉树_哈夫曼树_字典树
例题:二叉树 字典树
-
并查集_拓扑排序
例题:并查集 拓扑排序
-
KMP_Shift And(字符匹配)
例题:模板题1 模板题2
-
扩展KMP&AC自动机&Manacher(字符匹配)
例题:例题1 例题2
-
高精度运算(java更加方便)
例题:加法 除法 减法 乘法
-
简单动态规划(开始挺难理解的,状态转移方程难想)
例题: 模板题1
-
数位dp&状位dp
例题:数位dp 状位dp
-
树状数组(解决基于区间上的更新以及求和问题)
例题:模板题
-
线段树(功能比树状数组强大,作用和数组数组一样)
例题:模板题
-
前缀与差分(做数据的预处理(一般))
例题:模板题
-
欧拉函数&线性筛(数论,我不太会)
例题:模板题
-
RMQ(区间最值查询)、
例题:模板题
-
dfs序和LCA(DFS序就是将树形结构转化为线性结构,LCA求最近公共祖先)
例题:模板题
-
倍增与书上倍增(加快找祖先)
例题:可以用20的例题,都是找公共祖先
-
高斯消元&FFT(高斯消元,就是线性代数里面的高斯消元,FFT用来加速多项式乘法)
例题:模板题