(一个芯片验证工程师的刷题之路)
-
1.基础算法
- 二分
- 双指针/滑动窗口
- 位运算
- 前缀和/差分
- 高精度
- KMP
- 排序
- 多路归并
- 离散化
- 排列组合
- 线扫描
- RMQ
-
2.数据结构
- 队列/单调队列
- 栈/单调栈
- 并查集
- trie
- 堆
- 树状数组
- 平衡树
- 链表
- 树
- 克隆数据结构
- 设计数据结构
- 集合容器
-
3.搜索
- floodfill
- 双端队列BFS
- 双向广搜
- 一般BFS
- 一般DFS
- DFS剪枝
- DFS寻找路径
- 递推与递归
- 双向DFS
- 记忆化搜索
-
4.数学
- 质数
- 约数
- 进制转换
- 博弈论
- 概率
- 组合计数
- 众数
- 随机数
- 约瑟夫环
- 容斥原理
- 计算几何
- 欧拉函数
- 裴蜀定理
-
5.图论
- 单源最短路径
- 多源最短路径
- 最小生成树
- 负环
- 传递闭包
- LCA
- 连通分量
- 拓扑排序
- 欧拉回路
- 二分图
- 基环树
-
6.动态规划
- 数字三角形dp
- 上升子序列dp
- 背包dp
- 博弈论dp
- 状态压缩dp
- 区间dp
- 树形dp
- 位数dp
- 公共序列dp
- 字符串处理dp
- 状态机dp
- dp路径
- 单调队列优化dp
-
7.模拟题
-
8.字符串处理
-
9.贪心
-
10.技巧题