以下是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. Bridge Page

    http://www.zzbaike.com/wiki/%E6%A1%A5%E9%A1%B5 桥页(Bridge Page),又叫“门页”(Doorway/Portal/Jump/Entry Page ...

  2. CodeFirst建模:DataAnotation

    示例一 新建一个控制台应用程序,并安装entityframework 新建一个文件Blog.cs类,输入以下代码: using System.ComponentModel.DataAnnotation ...

  3. ZOJ 3956 Course Selection System 背包DP

    ZOJ3956 观察数据范围, c的值非常小 只有100 所以c的和也很有限 只有50000 是否可以从这里下手? 对于某一个c的和 我们一定希望h的和最大 才有可能是最终答案. 于是有了类似背包的d ...

  4. loadrunner11 安装破解,汉化包

    说说自己的心痛史,好不容易安装了loadrunner 11 居然浏览器不支持,我的系统是win8.1,ie浏览器最低支持ie11,我还能说啥子...其他浏览器试过了依旧是不可以!!所以我安装了一个虚拟 ...

  5. 1.2Hello, World!的大小

    描述 还记得在上一章里,我们曾经输出过的“Hello, World!”吗? 它虽然不是本章所涉及的基本数据类型的数据,但我们同样可以用sizeof函数获得它所占用的空间大小. 请编程求出它的大小,看看 ...

  6. ACM_完全背包

    背包3 Time Limit: 2000/1000ms (Java/Others) Problem Description: 有n种(每一种有无数个)重量和价值分别为Wi,Vi的物品,现从这些物品中挑 ...

  7. Android 性能优化(12)网络优化( 8)Monitoring the Battery Level and Charging State

    Monitoring the Battery Level and Charging State PreviousNext This lesson teaches you to Determine th ...

  8. 402 Remove K Digits 移掉K位数字

    给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小.注意:    num 的长度小于 10002 且 ≥ k.    num 不会包含任何前导零.示例 1 :输入: ...

  9. 每天学点Linux命令之Linux-Shell中的数据重定向与管道命令

    在Linux shell中, 数据重定向使用 > < 符号,管道命令使用 | 符号链接前后两个命令. 具体区别如下: 数据重定向 1.(>): 左侧应该有标准输出 > 右侧只能 ...

  10. 【转】mysql INSERT的用法

    转自:http://www.cnblogs.com/ggjucheng/archive/2012/11/05/2754938.html insert的语法 INSERT [LOW_PRIORITY | ...