Plan & Future
以下是OI省选前的数据结构与算法整理,可能还不是很全面。但是已经是全网相对比较全面的了。所有标记为“基础”“进阶”“中级”“提高”的知识为近些年来NOIp考察的内容,需重点掌握。
所有“高级”部分为NOI的考点,省选需要。
不分条的知识点则是省选知识点。
其他的一些算法和数据结构可能就太小众了,就参见Candy?或_rqy的博客,以及TopCoder等网站的教程吧。
每一小项前面的方括号是Markdown里面的checkbox,然而并不能用。悲し。
- Coder必备类
- [ ] LaTeX
- [ ] Vim或Emcas的使用
- [ ] Markdown
- [ ] Linux基础
- OI知识
- 图论
- 基础
- [x] 图的存储
- [ ] 图的连通性
- [ ] 连通分量
- 各种各样的图
- [ ] 欧拉图
- [ ] 欧拉回路
- 最短路相关
- [x] Dijkstra
- [x] Floyd(我现在还不会Floyd你信吗?)
- [x] 最短路计数
- [ ] Tarjan
- 二分图(网络流算法初步?)
- [ ] 匈牙利算法
- [ ] KM算法
- [ ] 拓扑排序
- 高级
- [ ] 次短路
- [ ] K短路
- [ ] 割点、割边
- [ ] 拆点、拆边
- 基础
- 树论
- 基础
- [ ] DFS序
- [ ]倍增LCA
- [ ] MST(Kruskal)
- 高级
- [ ] 树链剖分
- 树分治
- [ ] (动态)点分治
- [ ] (动态)边分治
- 动态树
- [ ] LCT
- [ ] 树分块
- [ ] 虚树
- [ ] Prufer编码
- 基础
- 动态规划
- 基础
- [ ] 序列型DP
- [ ] 背包型DP
- [ ] 区间型DP
- [ ] 环形DP
- [ ] 棋盘型DP
- [ ] 普通多维DP
- 进阶
- [ ] 复杂的多维DP
- [ ] 多线程DP
- [ ] 数位DP
- [ ] 期望DP
- [ ] 状压DP基础
- 高级
- [ ] 树形DP
- [ ] DP的优化
- [ ] 状压DP Advanced
- [ ] 插头DP
- [ ] 博弈论DP
- [ ] DP套DP
- 基础
- 数据结构
- 初步
- [x] 数组
- [x] 链表
- [x] 栈
- [x] 队列
- [x] 堆
- 基础
- [x] 双向链表
- [ ] 单调栈
- [x] 双端队列(deque)
- [ ] 单调队列
- 中级
- 并查集
- [x] 路径压缩
- [ ] 按秩合并
- [ ] 带权并查集
- hash表
- 按膜模法
- [ ] 自然溢出
- [ ] 双hash
- 按防碰撞方式
- [ ] 开放寻址法
- [ ] 拉链法
- 按膜模法
- [ ] 树状数组
- [ ] 线段树
- [ ] 普通线段树
- [ ] zkw线段树
- [ ] 块状数组
- [ ] 块状链表
- 并查集
- 高级
- 线段树
- [ ] 线段树的合并
- [ ] 线段树的分裂
- 平衡树
- Treap
- [ ] 无旋Treap(fhq?)
- [ ] 普通Treap
- [ ] Splay
- [ ] 替罪羊树
- [ ] 红黑树(可能不会学)
- [ ] 朝鲜树等各种各样神奇的东西
- Treap
- 树套树
- [ ] 线段树套线段树
- [ ] 线段树套平衡树
- [ ] 平衡树套线段树
- 可并堆
- [ ] 斜堆
- [ ] 斐波那契堆
- [ ] 左偏树
- [ ] 配对堆
- [ ] K-D树
- [ ] 四分树
- 可持久化数据结构
- [ ] 可持久化数组
- [ ] 可持久化并查集
- [ ] 可持久化线段树(主席树)
- [ ] 可持久化主席树
- [ ] 可持久化平衡树(Treap)
- [ ] 可持久化块状数组
- 线段树
- 初步
- 网络流
- 最大流
- [ ] Ford-Fulkerson方法
- [ ] Edmonds-Karp算法
- [ ] Dinic算法
- [ ] ISAP算法
- 最小割
- [ ] Stoer-Wagner算法
- [ ] Karger算法
- 费用流
- [ ] Bellman-Ford算法(诶?)
- [ ] zkw算法
- [ ] 分数规划
- 最大流
- 字符串
- 基础
- [ ] hash
- [ ] KMP算法
- [ ] BM算法
- [ ] Sunday算法
- [ ] Trie树
- 提高
- [ ] AC自动机
- [ ] Manacher算法
- 高级
- [ ] 后缀数组
- [ ] 后缀树
- [ ] 后缀自动机
- [ ] 可持久化Trie树
- 数论
- 基础
- [-] (扩展)欧几里得算法
- [ ] 快速幂
- [ ] 素数筛法(欧拉筛)
- [ ] 裴蜀定理
- [ ] 欧拉函数
- 排列组合
- [x] 杨辉三角
- [ ] (扩展)Lucas定理
- [ ] 乘法逆元
- 矩阵相关
- [x] 矩阵乘法
- [x] 矩阵快速幂
- [ ] 期望与概率基础
- [ ] 容斥原理基础
- 高级
- [ ] 费马小定理
- [ ] 降幂大法
- 博弈论
- [ ] SG定理
- [ ] SG函数(Nim取石子游戏)
- [ ] SJ定理
- [ ] 树上删边游戏
- [ ] 组合游戏
- [ ] 拉格朗日乘子法
- [ ] 中国剩余定理
- 线性规划
- [ ] 单纯型线性规划
- [ ] 线性规划与网络流
- [ ] 辛普森积分
- [ ] 模线性方程组
- [ ] 莫比乌斯反演
- 容斥原理进阶
- [ ] 置换群
- [ ] Burnside引理
- [ ] Polya定理
- [ ] 快速傅里叶变换
- [ ] 快速沃尔什变换
- [ ] 快速数论变换
- 基础
- 计算几何
- [ ] 计算几何基础概念(点、直线、线段等的表示,关系的判定)
- [ ] 三维计算几何初步
- [ ] 凸包
- [ ] 旋转卡壳
- [ ] 半平面交
- [ ] Pick定理
- [ ] 三角形剖分与梯形剖分
- [ ] 扫描线
- 搜索
- 基础
- [x] 枚举
- [ ] 递归
- [ ] DFS
- [ ] BFS
- [ ] 记忆化搜索
- 高级
- [ ] A*算法
- [ ] 迭代加深搜索
- [ ] 双向BFS
- [ ] 斯坦纳树
- [ ] Meet-in-the-middle
- 基础
- 其他重要算法
- 基础
- [ ] 模拟
- [ ] 贪心
- [ ] 二分法
- [ ] 三分法
- [ ] 分治
- [ ] 高精度
- 提高
- [ ] ST表
- [ ] 浮水法
- [ ] 离散化
- 高级
- [ ] 离线
- [ ] CDQ分治
- [ ] 差分约束系统
- 基础
- 暴力算法与数据结构
- [ ] 分块
- [ ] 莫队
- [ ] 带修改莫队
- [ ] 树上莫队
- [ ] 树上带修改莫队
- 随机化算法
- [ ] 爬山算法
- [ ] 随机增量法
- [ ] 模拟退火
- [ ] 遗传算法
- STL
- 基础
- [x] vector
- [x] string
- [x] priority_queue
- [x] set&map
- [x] 常见数据结构
- 高级
- [ ] bitset
- [ ] rope
- [ ] pb_ds
- 基础
- 非常见算法
- [ ] 朱刘算法
- [ ] 弦图与区间图
- [ ] 三维偏序
- 图论
初步计划2月24日(~14周*7=98天)前复习完NOIp知识点86个(明显的需要提速,省选内容不可能一天学一个知识点)。
剩下的内容(104个知识点)在2月25日到7月28日(~23周*7=161天)完成。
第一部分Coder必备看看就好了。
以上列表打x的为已经学会的(非常熟练)。划-的为部分完成的,空着的表示尚未完成。
所有新学的东西都会有个博客来整理一下吧。当然以前会了的东西那就看情况再说。
$\text{\color{red}{萌萌哒}}$