以下是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}{萌萌哒}}$

Plan & Future的更多相关文章

  1. P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1

    P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1       May ...

  2. Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications

    January 2014 Containing twenty-four design patterns and ten related guidance topics, this guide arti ...

  3. KIP-382: MirrorMaker 2.0

    Status Motivation Public Interfaces Proposed Changes Remote Topics, Partitions Aggregation Cycle det ...

  4. Asynchronous and Distributed Programming in R with the Future Package

    Every now and again someone comes along and writes an R package that I consider to be a 'game change ...

  5. The future of scripting in Unity

    Recently we talked about Unity and WebGL . In that post we briefly spoke about how scripting works i ...

  6. 第七篇:Spark SQL 源码分析之Physical Plan 到 RDD的具体实现

    /** Spark SQL源码分析系列文章*/ 接上一篇文章Spark SQL Catalyst源码分析之Physical Plan,本文将介绍Physical Plan的toRDD的具体实现细节: ...

  7. 【转】The most comprehensive Data Science learning plan for 2017

    I joined Analytics Vidhya as an intern last summer. I had no clue what was in store for me. I had be ...

  8. Building An Effective Marketing Plan

    “New ideas are a dime a dozen,” observes Arthur R. Kydd, “and so are new products and new technologi ...

  9. 【转】Automated Testing Detail Test Plan

    Automated Testing Detail Test PlanAutomated Testing DTP Overview This Automated Testing Detail Test ...

随机推荐

  1. gitlab结构分析

    1 gitlab的工作流程 2

  2. 混合使用Delphi和C ++(附下载)

    您想将C ++添加到Delphi应用程序中吗?或者将Delphi代码添加到C ++应用程序中?这是如何做. 您可能不知道的一件事是如何在RAD Studio中集成C ++和Delphi语言.您可以将单 ...

  3. Linux/Android——input系统之 kernel层 与 frameworks层交互 (五)【转】

    本文转载自:http://blog.csdn.net/jscese/article/details/42291149 之前的四篇博文记录的都是linux中的input体系相关的东西,最底层以我调试的u ...

  4. 【USACO07FEB】 Cow Relays

    [题目链接]              点击打开链接 [算法]            朴素算法,就是跑N-1遍floyd            而满分算法就是通过矩阵快速幂加速这个过程 [代码]   ...

  5. Java IO 字节流与字符流 (五)

    Java的IO流分为字符流(Reader,Writer)和字节流(InputStream,OutputStream),字节流顾名思义字节流就是将文件的内容读取到字节数组,然后再输出到另一个文件中.而字 ...

  6. bzoj2338

    计算几何 我们先把所有的线段求出来,我们发现只有两个线段等长且中点重合时才能构成矩形,那么线段有n*n条,我们按中点,长度排序,然后对于一条线段扫描所有符合条件的线段计算答案,这样看起来是O(n^3) ...

  7. Vue Router过渡动效

    <router-view> 是基本的动态组件,所以我们可以用 <transition> 组件给它添加一些过渡效果: <transition> <router- ...

  8. sqlserver2000连接失败,不存在或拒绝访问

    一 看ping 服务器IP能否ping通. 这个实际上是看和远程sql server 2000服务器的物理连接是否存在.如果不行,请检查网络,查看配置,当然得确保远程sql server 2000服务 ...

  9. noip2002矩阵覆盖(搜索)

    矩阵覆盖 题目描述 在平面上有 n 个点(n <= 50),每个点用一对整数坐标表示.例如:当 n=4 时,4个点的坐标分另为:p1(1,1),p2(2,2),p3(3,6),P4(0,7),见 ...

  10. Akka源码分析-Cluster-DistributedData

    上一篇博客我们研究了集群的分片源码,虽然akka的集群分片的初衷是用来解决actor分布的,但如果我们稍加改造就可以很轻松的开发出一个简单的分布式缓存系统,怎么做?哈哈很简单啊,实体actor的id就 ...