1.1 基本数据结构

  1. 数组(√)

  2. 链表(√),双向链表(√)

  3. 队列(√),单调队列(√),双端队列(√)

  4. 栈(√),单调栈(√)

1.2 中级数据结构

  1. 堆(√)

  2. 并查集与带权并查集(√)

  3. hash 表(√)

    自然溢出

    双hash

1.3 高级数据结构

  1. 树状数组(√)

  2. 线段树(√),线段树合并

  3. 平衡树

    Treap 随机平衡二叉树

    Splay 伸展树

    • Scapegoat Tree 替罪羊树
  4. 块状数组,块状链表

5.* 树套树

线段树套线段树

线段树套平衡树

* 平衡树套线段树

6.可并堆

左偏树

*配对堆
  1. KDtree,四分树

1.4 可持久化数据结构

  1. 可持久化线段树

    主席树

    • 可持久化平衡树
    • 可持久化块状数组

1.5 字符串相关算法及数据结构

  1. KMP

  2. AC 自动机

  3. 后缀数组

  4. *后缀树

  5. *后缀自动机

  6. 字典树 Trie

  7. manacher

1.6 图论相关

  1. 最小生成树

    prim(√)

    kruskal(√)

  2. 最短路(√),次短路,K短路

    spfa

    dijkstra

    floyd

  3. 图的连通

    连通分量

    割点,割边

  4. 网络流

    最大流

    最小割

    费用流

    分数规划

  5. 树相关

    树上倍增(√),公共祖先(√)

    树链剖分

    树的分治算法(点分治,边分治,*动态?树分治)

    动态树 (LCT,*树分块)

    虚树

    *prufer编码

  6. 拓扑排序

  7. 欧拉图

  8. 二分图

    *KM算法

    匈牙利算法

1.7 数学相关

  1. (扩展)欧几里得算法(√),筛法(√),快速幂(√)

    斐蜀定理

    更相减损术

  2. 欧拉函数与*降幂大法

  3. 费马小定理

  4. 排列组合

    lucas定理

  5. 乘法逆元(√)

  6. 矩阵乘法

  7. 数学期望与概率

  8. 博弈论

    sg函数

    树上删边游戏

  9. *拉格朗日乘子法

  10. 中国剩余定理

  11. 线性规划与网络流

  12. 单纯型线性规划

  13. 辛普森积分

  14. 模线性方程组

  15. 容斥原理与莫比乌斯反演

  16. 置换群

  17. 快速傅里叶变换

  18. *大步小步法(BSGS),扩展BSGS

1.8 动态规划

  1. 一般(√),背包(√),状压,区间,环形,树形,数位动态规划

    记忆化搜索

    斯坦纳树

    背包九讲

  2. 斜率优化与* 四边形不等式优化

  3. 环 + 外向树上的动态规划

  4. *插头动态规划

1.9 计算几何

  1. 计算几何基础

  2. 三维计算几何初步

  3. 梯形剖分与三角形剖分

  4. 旋转卡壳

  5. 半平面交

  6. pick定理

  7. 扫描线

1.10 搜索相关

  1. bfs,dfs

  2. A* 算法

  3. 迭代加深搜索,双向广搜

1.11 特殊算法

  1. 莫队算法,*树上莫队

  2. 模拟退火

  3. 爬山算法

  4. 随机增量法

1.12 其它重要工具与方法

1.模拟(√)与贪心(?√)

  1. 二分(√),三分法(求偏导)

  2. 分治,CDQ分治

  3. 高精度

  4. 离线

  5. ST表(√)

1.13 STL(√)

  1. map(√)

  2. priority_queue(√)

  3. set

  4. bitset

  5. rope

1.14 非常见算法

  1. *朱刘算法

  2. *弦图与区间图

OI省选算法汇总及学习计划(转)的更多相关文章

  1. OI省选算法汇总( 转发黄学长博客 )

    [原文链接] http://hzwer.com/1234.html 注 : 蓝色为已学习算法 , 绿色为不熟练算法 , 灰色为未学习算法 1.1 基本数据结构 1. 数组 2. 链表,双向链表 3. ...

  2. OI省选算法汇总

    copy from hzwer @http://hzwer.com/1234.html 侵删 1.1 基本数据结构 1. 数组 2. 链表,双向链表 3. 队列,单调队列,双端队列 4. 栈,单调栈 ...

  3. ORZ hzwer——OI省选算法汇总

    简单列了一点 1.1 基本数据结构 1. 数组 2. 链表,双向链表 3. 队列,单调队列,双端队列 4. 栈,单调栈 1.2 中级数据结构 1. 堆 2. 并查集与带权并查集 3. hash 表 自 ...

  4. [转载]OI省选算法汇总

    简单列了一点 1.1 基本数据结构 数组 链表,双向链表 队列,单调队列,双端队列 栈,单调栈 1.2 中级数据结构 堆 并查集与带权并查集 hash 表 自然溢出 双hash 1.3 高级数据结构 ...

  5. python、数据分析师、算法工程师的学习计划

    1.前言 最近(2018.4.1)在百忙之中开通了博客,希望能够把自己所学所想沉淀下来,这篇是我开始系统学习python,成为数据分析师和算法工程师之路的计划,望有志于为同样目标奋斗的数据猿一起交流和 ...

  6. Python学习计划

    ---恢复内容开始--- Python学习计划   https://edu.csdn.net/topic/python2?utm_source=blog4   匠人之心,成就真正Python全栈工程师 ...

  7. Github标星过万,Python新手100天学习计划。

    大数据文摘编辑部出品 作为目前最火也是最实用的编程语言,Python不仅是新手入门程序界的首选,也逐渐成为了从大厂到小厂,招牌需求list的必要一条. 当然,学Python这件事情,你可能也和文摘菌一 ...

  8. Github标星过万,Python新手100天学习计划,这次再学不会算我输!

      作为目前最火也是最实用的编程语言,Python不仅是新手入门程序界的首选,也逐渐成为了从大厂到小厂,招牌需求list的必要一条. 当然,学Python这件事情,你可能也和文摘菌一样,已经下了一百次 ...

  9. 【声明】前方不设坑位,不收费!~ 我为NET狂官方学习计划

    发个通知,过段时间学习计划相关的东西就出来了,上次写了篇指引文章后有些好奇心颇重的人跟我说:“发现最近群知识库和技能库更新的频率有点大,这是要放大招的节奏啊!” 很多想学习却不知道如何规划的人想要一个 ...

随机推荐

  1. Coursera Deep Learning笔记 改善深层神经网络:优化算法

    笔记:Andrew Ng's Deeping Learning视频 摘抄:https://xienaoban.github.io/posts/58457.html 本章介绍了优化算法,让神经网络运行的 ...

  2. Java:NIO 学习笔记-3

    Java:NIO 学习笔记-3 根据 黑马程序员 的课程 JAVA通信架构I/O模式,做了相应的笔记 3. JAVA NIO 深入剖析 在讲解利用 NIO 实现通信架构之前,我们需要先来了解一下 NI ...

  3. Spring Security中配置AccessDeniedHandler没有生效

    现象 在 WebSecurityConfigurerAdapter 配置了如下代码: // 自定义未授权和未登录异常 http.exceptionHandling() .accessDeniedHan ...

  4. oo第三次博客-JML规格

    这三周的作业主要是围绕以JML来约束代码开发,以确保程序的正确性与鲁棒性. Part 1:三次作业的实现与bug 第一次作业没有任何算法和数据结构上的难度,对于Path和PathContainer的各 ...

  5. 【转】PLI是什么以及怎么用

    programmable language interface 这里就说给verilog用的一些系统函数,还是无双大大的帖子 首先介绍了怎么让你自己写的pli系统函数在ncverilog里面可以成功调 ...

  6. Wedding DJ题解 (回归OI)

    写在前面 高考结束了, 很遗憾, 我是其中的失败者, zzu, 没有想过最后来到这个学校, 并且还是信息安全专业, 不过, 时间久了, 也慢慢适应了: 当我被这个学校的这个专业录取, 也就注定着, 我 ...

  7. poj 2724 Purifying Machine(二分图最大匹配)

    题意: 有2^N块奶酪,编号为00...0到11..1. 有一台机器,有N个开关.每个开关可以置0或置1,或者置*.但是规定N个开关中最多只能有一个开关置*. 一旦打开机器的开关,机器将根据N个开关的 ...

  8. 关于linux7.x系列下的 systemd 的理解

    历史上Linux的启动一直采用init进程,下面的命令用来启动服务. $ sudo /etc/init.d/apache2 start #或者 $ service apache2 start 这种方法 ...

  9. Java实体映射工具MapStruct使用详解

    1.序 通常在后端开发中经常不直接返回实体Entity类,经过处理转换返回前端,前端提交过来的对象也需要经过转换Entity实体才做存储:通常使用的BeanUtils.copyProperties方法 ...

  10. 【Go语言学习笔记】Go的defer

    关键字 defer ⽤于延迟一个函数或者方法(或者当前所创建的匿名函数)的执行. 注意,defer语句只能出现在函数或方法的内部. defer语句经常被用于处理成对的操作,如打开.关闭.连接.断开连接 ...