Plan & Future

以下是OI省选前的数据结构与算法整理,可能还不是很全面。但是已经是全网相对比较全面的了。所有标记为“基础”“进阶”“中级”“提高”的知识为近些年来NOIp考察的内容,需重点掌握。

所有“高级”部分为NOI的考点,省选需要。

不分条的知识点则是省选知识点。

其他的一些算法和数据结构可能就太小众了,就参见Candy?或_rqy的博客,以及TopCoder等网站的教程吧。

每一小项前面的方括号是Markdown里面的checkbox,然而并不能用。悲し。

  1. Coder必备类
    1. [ ] LaTeX
    2. [ ] Vim或Emcas的使用
    3. [ ] Markdown
    4. [ ] Linux基础
  2. OI知识
    1. 图论
      1. 基础
        1. [x] 图的存储
        2. [ ] 图的连通性
        3. [ ] 连通分量
        4. 各种各样的图
          1. [ ] 欧拉图
          2. [ ] 欧拉回路
        5. 最短路相关
          1. [x] Dijkstra
          2. [x] Floyd(我现在还不会Floyd你信吗?)
          3. [x] 最短路计数
        6. [ ] Tarjan
        7. 二分图(网络流算法初步?
          1. [ ] 匈牙利算法
          2. [ ] KM算法
        8. [ ] 拓扑排序
      2. 高级
        1. [ ] 次短路
        2. [ ] K短路
        3. [ ] 割点、割边
        4. [ ] 拆点、拆边
    2. 树论
      1. 基础
        1. [ ] DFS序
        2. [ ]倍增LCA
        3. [ ] MST(Kruskal)
      2. 高级
        1. [ ] 树链剖分
        2. 树分治
          1. [ ] (动态)点分治
          2. [ ] (动态)边分治
        3. 动态树
          1. [ ] LCT
          2. [ ] 树分块
        4. [ ] 虚树
        5. [ ] Prufer编码
    3. 动态规划
      1. 基础
        1. [ ] 序列型DP
        2. [ ] 背包型DP
        3. [ ] 区间型DP
        4. [ ] 环形DP
        5. [ ] 棋盘型DP
        6. [ ] 普通多维DP
      2. 进阶
        1. [ ] 复杂的多维DP
        2. [ ] 多线程DP
        3. [ ] 数位DP
        4. [ ] 期望DP
        5. [ ] 状压DP基础
      3. 高级
        1. [ ] 树形DP
        2. [ ] DP的优化
        3. [ ] 状压DP Advanced
        4. [ ] 插头DP
        5. [ ] 博弈论DP
        6. [ ] DP套DP
    4. 数据结构
      1. 初步
        1. [x] 数组
        2. [x] 链表
        3. [x] 栈
        4. [x] 队列
        5. [x] 堆
      2. 基础
        1. [x] 双向链表
        2. [ ] 单调栈
        3. [x] 双端队列(deque)
        4. [ ] 单调队列
      3. 中级
        1. 并查集
          1. [x] 路径压缩
          2. [ ] 按秩合并
          3. [ ] 带权并查集
        2. hash表
          1. 模法
            1. [ ] 自然溢出
            2. [ ] 双hash
          2. 按防碰撞方式
            1. [ ] 开放寻址法
            2. [ ] 拉链法
        3. [ ] 树状数组
        4. [ ] 线段树
          1. [ ] 普通线段树
          2. [ ] zkw线段树
        5. [ ] 块状数组
        6. [ ] 块状链表
      4. 高级
        1. 线段树
          1. [ ] 线段树的合并
          2. [ ] 线段树的分裂
        2. 平衡树
          1. Treap
            1. [ ] 无旋Treap(fhq?)
            2. [ ] 普通Treap
          2. [ ] Splay
          3. [ ] 替罪羊树
          4. [ ] 红黑树(可能不会学)
          5. [ ] 朝鲜树等各种各样神奇的东西
        3. 树套树
          1. [ ] 线段树套线段树
          2. [ ] 线段树套平衡树
          3. [ ] 平衡树套线段树
        4. 可并堆
          1. [ ] 斜堆
          2. [ ] 斐波那契堆
          3. [ ] 左偏树
          4. [ ] 配对堆
        5. [ ] K-D树
        6. [ ] 四分树
        7. 可持久化数据结构
          1. [ ] 可持久化数组
          2. [ ] 可持久化并查集
          3. [ ] 可持久化线段树(主席树)
          4. [ ] 可持久化主席树
          5. [ ] 可持久化平衡树(Treap)
          6. [ ] 可持久化块状数组
    5. 网络流
      1. 最大流
        1. [ ] Ford-Fulkerson方法
        2. [ ] Edmonds-Karp算法
        3. [ ] Dinic算法
        4. [ ] ISAP算法
      2. 最小割
        1. [ ] Stoer-Wagner算法
        2. [ ] Karger算法
      3. 费用流
        1. [ ] Bellman-Ford算法(诶?)
        2. [ ] zkw算法
      4. [ ] 分数规划
    6. 字符串
      1. 基础
        1. [ ] hash
        2. [ ] KMP算法
        3. [ ] BM算法
        4. [ ] Sunday算法
        5. [ ] Trie树
      2. 提高
        1. [ ] AC自动机
        2. [ ] Manacher算法
      3. 高级
        1. [ ] 后缀数组
        2. [ ] 后缀树
        3. [ ] 后缀自动机
        4. [ ] 可持久化Trie树
    7. 数论
      1. 基础
        1. [-] (扩展)欧几里得算法
        2. [ ] 快速幂
        3. [ ] 素数筛法(欧拉筛)
        4. [ ] 裴蜀定理
        5. [ ] 欧拉函数
        6. 排列组合
          1. [x] 杨辉三角
          2. [ ] (扩展)Lucas定理
        7. [ ] 乘法逆元
        8. 矩阵相关
          1. [x] 矩阵乘法
          2. [x] 矩阵快速幂
        9. [ ] 期望与概率基础
        10. [ ] 容斥原理基础
      2. 高级
        1. [ ] 费马小定理
        2. [ ] 降幂大法
        3. 博弈论
          1. [ ] SG定理
          2. [ ] SG函数(Nim取石子游戏)
          3. [ ] SJ定理
          4. [ ] 树上删边游戏
          5. [ ] 组合游戏
        4. [ ] 拉格朗日乘子法
        5. [ ] 中国剩余定理
        6. 线性规划
          1. [ ] 单纯型线性规划
          2. [ ] 线性规划与网络流
        7. [ ] 辛普森积分
        8. [ ] 模线性方程组
        9. [ ] 莫比乌斯反演
        10. 容斥原理进阶
          1. [ ] 置换群
          2. [ ] Burnside引理
          3. [ ] Polya定理
        11. [ ] 快速傅里叶变换
        12. [ ] 快速沃尔什变换
        13. [ ] 快速数论变换
    8. 计算几何
      1. [ ] 计算几何基础概念(点、直线、线段等的表示,关系的判定)
      2. [ ] 三维计算几何初步
      3. [ ] 凸包
      4. [ ] 旋转卡壳
      5. [ ] 半平面交
      6. [ ] Pick定理
      7. [ ] 三角形剖分与梯形剖分
      8. [ ] 扫描线
    9. 搜索
      1. 基础
        1. [x] 枚举
        2. [ ] 递归
        3. [ ] DFS
        4. [ ] BFS
        5. [ ] 记忆化搜索
      2. 高级
        1. [ ] A*算法
        2. [ ] 迭代加深搜索
        3. [ ] 双向BFS
        4. [ ] 斯坦纳树
        5. [ ] Meet-in-the-middle
    10. 其他重要算法
      1. 基础
        1. [ ] 模拟
        2. [ ] 贪心
        3. [ ] 二分法
        4. [ ] 三分法
        5. [ ] 分治
        6. [ ] 高精度
      2. 提高
        1. [ ] ST表
        2. [ ] 浮水法
        3. [ ] 离散化
      3. 高级
        1. [ ] 离线
        2. [ ] CDQ分治
        3. [ ] 差分约束系统
    11. 暴力算法与数据结构
      1. [ ] 分块
      2. [ ] 莫队
      3. [ ] 带修改莫队
      4. [ ] 树上莫队
      5. [ ] 树上带修改莫队
    12. 随机化算法
      1. [ ] 爬山算法
      2. [ ] 随机增量法
      3. [ ] 模拟退火
      4. [ ] 遗传算法
    13. STL
      1. 基础
        1. [x] vector
        2. [x] string
        3. [x] priority_queue
        4. [x] set&map
        5. [x] 常见数据结构
      2. 高级
        1. [ ] bitset
        2. [ ] rope
        3. [ ] pb_ds
    14. 非常见算法
      1. [ ] 朱刘算法
      2. [ ] 弦图与区间图
      3. [ ] 三维偏序

初步计划2月24日(~14周*7=98天)前复习完NOIp知识点86个(明显的需要提速,省选内容不可能一天学一个知识点)。

剩下的内容(104个知识点)在2月25日到7月28日(~23周*7=161天)完成。

第一部分Coder必备看看就好了。

以上列表打x的为已经学会的(非常熟练)。划-的为部分完成的,空着的表示尚未完成。

所有新学的东西都会有个博客来整理一下吧。当然以前会了的东西那就看情况再说。

$\text{\color{red}{萌萌哒}}$

posted @ 2017-11-19 20:16  baka  阅读(362)  评论(4编辑  收藏  举报