OI Training 知识体系结构

初级

1.1 C语言基础

  1.1.1 C语言程序结构(A+B Problem)

  1.1.2 变量,常量,数据类型,输入与输出

  1.1.3 条件语句

  1.1.4 循环语句

  1.1.5 数组

  1.1.6 字符数组、字符串

  1.1.7 指针

  1.1.8 共同体、结构体

  1.1.9 函数

  1.1.10 过关练习题

中级

2.1 深度优先搜索

2.1.1 栈与递归函数

2.1.2 深搜树模型与回溯

2.2 宽度优先搜索

2.2.1 链表与队列

2.2.2 宽搜树模型

2.2.3 搜索过关练习题.

2.3 排序问题

  2.3.1冒泡排序,选择排序,插入排序

  2.3.2 二分查找

  2.3.3 快速排序

  2.3.4 归并排序

  2.3.5 桶排序

  2.3.6 排序过关练习

2.4 贪心、模拟

  2.4.1贪心策略与最优性原理

  2.4.2 经典模拟

  2.4.3字符串模拟

  2.4.4 过关练习

高级

3.1 动态规划

  3.1.1 动归思想与分析过程(递推法,状态,阶段,决策,边界)

  3.1.2 背包模型

  3.1.3 子序列模型

  3.1.4 区间模型

  3.1.5 资源分配模型

  3.1.6 滚动数组

  3.1.7 记忆化搜索

  3.1.8 动态规划过关练习

3.2 基础数论

  3.2.1 整数的性质

  3.2.1 质数与整除

  3.2.3 同余定理

  3.2.4 基础数论过关练习

3.3高精度

3.3.2 大数加减法

3.3.3 大数乘法

3.3.4 大数除法与取余

3.3.5 高精度过关练习

3.4 树与森林

3.4.1 树和森林的特征与区别

3.4.2 树、森林的存储方式

3.4.3 树、二叉树的遍历

3.4.4 哈夫曼树

3.4.5 键树

3.4.5 并查集,LCA

3.4.6 树模型过关练习

3.5 图

  3.5.1 图的概念与性质

  3.5.2 图的存储(邻接矩阵,边表等)

  3.5.3 连通分量与强连通分量

  3.5.4 生成树问题(最小,次小,生成树计数)

  3.5.5 最短路径(单源,多源各种算法)

  3.5.6 拓扑排序

3.6哈希表

  3.6.1哈希表的作用(标记数组,快速定位,优化程序的利器)

  3.6.2哈希表的性质(哈希冲突)

  3.6.3哈希表与字符串

3.7 位运算与常数优化

  3.7.1 位运算应用举例

  3.7.2 常数优化举例

3.8 C++ STL模板的应用(各种常用的数据结构的用法介绍和演示)

  3.8.1 algorithm

  3.8.2 list

精英级

4.1 搜索与剪枝

  4.1.1 最优性剪枝

  4.1.2 A*搜索,启发式搜索,双向搜索

  4.1.2 迭代加深搜索

  4.1.3 模拟退火

4.2 优先队列

  4.2.1 二叉堆

  4.2.2 可并优先队列(左偏树,二项堆)

4.3 动态规划

  4.3.1状态压缩动态规划

  4.3.2 决策单调性与斜率优化(单调队列)

  4.3.4四边形不等式优化

  4.3.5树型动态规划

  4.3.6迭代型动态规划

  4.3.7 高级数据结构优化

4.4 线段树,树状数组

  4.4.1 树状数组的概念与原理

  4.4.2 树状数组的应用

  4.4.3 线段树的原理与模型

  4.4.4 线段树的标记遗传

  4.4.5 线段树的应用(区间计数,区间覆盖,动态规划优化等,越详细越好)

4.5 几何

  4.5.1 解析几何,图形与方程

  4.5.2 计算几何,向量运算,叉积。

  4.5.3 凸包

  4.5.4 圆并

  4.5.5 半平面交

  4.5.6 几何经典问题

4.6 经典数论

  4.6.1 欧拉函数

  4.6.2 不定方程

  4.6.3 中国剩余定理

  4.6.4 数论经典问题

4.7 线性代数

  4.7.1 矩阵

  4.7.2 高斯消元与行列式

  4.7.3 模线性方程组

  4.7.4 矩阵乘法与递推关系

4.8 二叉查找树

  4.8.1 概念与性质

  4.8.2 平衡树的性质与模型

  4.8.3 B树的模型与应用

  4.8.4 红黑树的模型与应用

  4.8.5 Treap的模型与应用

  4.8.6 伸展树(Splay)的模型与应用

4.9 串问题

  4.9.1 模式匹配

  4.9.2 AC自动机

  4.9.3 扩展KMP算法

  4.9.4 后缀树

  4.9.5 后缀数组

4.10 网络流

4.10.1 概念与算法(dinic,sap等)

  4.10.2 最大流与最小割

  4.10.3 有费用的网络流

  4.10.4 有流量上下界的网络流(zkw等)

4.11 二分图

  4.11.1 最大匹配

  4.11.2 最大权匹配

4.12 组合数学

  4.12.1 鸽笼原理与Ramsey定理

  4.12.2 排列组合与容斥原理

  4.12.3 群论与置换群

  4.12.4 Burnside引理与Pólya定理

  4.12.5 数列与母函数

4.13 游戏与博弈

  4.13.1 最小最大原理

  4.13.2 Nim游戏与SG定理

  4.13.3 其他模型

大师级

5.1 动态规划状态设计

  5.1.1 基于连通性的状态压缩

5.2 树的分治

  5.2.1 基于边的分治

  5.2.2 基于点的分治

  5.2.3 基于链的分治

5.3 各种高级数据结构

  5.3.1 动态树

  5.3.2 划分树

  5.3.3 树链剖分

  5.3.4 归并树

  5.3.5 带花树

  5.3.6 块链

  5.3.7 Dancing Link

5.4 高级数据结构嵌套

  5.4.1 线段树嵌套

  5.4.2 各种树套树

5.5 快速傅里叶变换(fft)

  5.5.1 快速多项式乘法

  5.5.2 单位模根

5.6 各种数论(自行挖掘)

  不平等博弈

  差约分束

  扩展欧几里德

  行列式

  多重积分

  离散对数

  原根

  置换群

  母函数

  dance link

  动态仙人球

  遗传算法

  FFT

  高斯消元

  最小表示法

  基于母函数的优化

  分层

  重构图

  各种分块

  单纯形法

  polya定理

  期望类问题

………

知识是不断完善和无限的 !

这里还有一张图

OI 知识体系的更多相关文章

  1. OI知识体系

  2. web前端知识体系总结

    1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...

  3. 关于.NET知识体系结构图总结

    转载:关于.NET知识体系结构图总结-零度http://www.xcode.me/book/net-framework-maps 最近对.NET框架方面的知识进行了概要的总结,整理了一些知识体系结构图 ...

  4. Canvas 知识体系简单总结

    Canvas 知识体系简单总结 标签(空格分隔): HTML5 Canvas 本文原创,如需转载,请注明出处 前言 知识点零零散散,一个上午整理了一下,内容不多,方便记忆. 本文不是教程,如需教程移步 ...

  5. Atitit 图像处理知识点  知识体系 知识图谱v2

    Atitit 图像处理知识点  知识体系 知识图谱v2 霍夫变换(Hough Transform) 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法.主要用来从图像 ...

  6. Atitit 图像处理知识点  知识体系 知识图谱

    Atitit 图像处理知识点  知识体系 知识图谱 图像处理知识点 图像处理知识点体系 v2 qb24.xlsx 基本知识图像金字塔op膨胀叠加混合变暗识别与检测分类肤色检测other验证码生成 基本 ...

  7. Atitit 知识图谱解决方案:提供完整知识体系架构的搜索与知识结果overview

    Atitit 知识图谱解决方案:提供完整知识体系架构的搜索与知识结果overview   知识图谱的表示和在搜索中的展1 提升Google搜索效果3 1.找到最想要的信息.3 2.提供最全面的摘要.4 ...

  8. Java知识体系

    Java知识体系 java知识结构.jpg web框架.jpg 计算机课程体系.png 2016-08-19_090929.png 流行的哈希算法生存状况.jpg "JAVA之父" ...

  9. 自己总结的web前端知识体系大全【欢迎补充】

    1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...

随机推荐

  1. 【Hadoop/Hive/mapreduce】系列之如何删除HIVE 表格的分区

    今天的一个业务场景就是要把三年的数据从第一天不停的融合起来,每一天作为表格一个新的分区.由于空间有限,数据量很大,可能每天数据都是几十个G的大小.所以我需要做的一点就是在融合这一天之后,删除一天的分区 ...

  2. IAR 编译时找不到头文件的解决方法

    Fatal Error[Pe1696]: cannot open source file "x.h" 那是因为头文件路径没有找对 到报错的.c源文件 选中右键 选择options ...

  3. 第三章 文件 I/O

    3.1 引言 先说明可用的文件 I/O 函数:open.read.write.close,然后说明不同缓冲区长度对read和write函数的影响. 本章所说的函数经常被称为不带缓冲的 I/O (unb ...

  4. JVM——九大工具助你玩转Java性能优化

    本文转载自 http://www.importnew.com/12324.html 本文由 ImportNew - 陈 晓舜 翻译自 idrsolutions.欢迎加入翻译小组.转载请参见文章末尾的要 ...

  5. 获取ubuntu中软件包的有用地址

    http://us.archive.ubuntu.com/ubuntu/pool/main/g/gettext/

  6. DOS程序员手册(六)

    217页 程序的主要部分后面是主程序所使用的许多小的扩充内存功能.将这些功能组合起 来这些功能便覆盖了扩充内存的操作,尽管还可能想向它们添加错误检查. 程序所包含的函数有: emmtest   检验内 ...

  7. .gitignore 中文文件夹无效

    有个文件夹名如:测试 在.gitignore中添加  /测试/   但运行命令git status后发现还是被追踪到了 一番搜索后终于发现.gitignore文件编码是GBK的,重新将文件保存成utf ...

  8. Ubuntu系列问题

    一.Ubuntu16.04 intel_rapl : no valid rapl domains found in packge0 echo 'blacklist intel_rapl' >&g ...

  9. centos 7 安装codeblocks

    CentOS7安装Code::Blocks 在CentOS7上安装Codelocks的过程. 1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可yum ...

  10. HDU 4747 Mex ( 线段树好题 + 思路 )

    参考:http://www.cnblogs.com/oyking/p/3323306.html 相当不错的思路,膜拜之~ 个人理解改日补充. #include <cstdio> #incl ...