OI省选算法汇总

注 : 标*为拓展内容


[TOC]

数据结构


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.可并堆

    左偏树

    *配对堆

7. *KDtree,*四分树


1.4 可持久化数据结构

1. 可持久化线段树

    主席树

2. * 可持久化平衡树

3. * 可持久化块状数组


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编码

7. 拓扑排序

8. 欧拉图

9. 二分图

    *KM算法

    匈牙利算法

------------------------------------------------------------------------------


数学相关

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

    斐蜀定理

    更相减损术

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

3. 费马小定理

4. 排列组合

    lucas定理

5. 乘法逆元

6. 矩阵乘法

7. 数学期望与概率

8. 博弈论

    sg函数

    树上删边游戏

9. *拉格朗日乘子法

10. 中国剩余定理

11. 线性规划与网络流

12. 单纯型线性规划

13. 辛普森积分

14. 模线性方程组

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

16. 置换群

17. 快速傅里叶变换

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


------------------------------------------------------------------------------



动态规划

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

    记忆化搜索

    斯坦纳树

    背包九讲

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

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

4. *插头动态规划

1.9 计算几何

1. 计算几何基础

2. 三维计算几何初步

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

4. 旋转卡壳

5. 半平面交

6. pick定理

7. 扫描线


------------------------------------------------------------------------------



搜索相关

1. bfs,dfs

2. A* 算法

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

------------------------------------------------------------------------------



特殊算法

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

2. 模拟退火

3. 爬山算法

4. 随机增量法

1.12 其它重要工具与方法

1.模拟与贪心

2. 二分,三分法(求偏导)

3. 分治,CDQ分治

4. 高精度

5. 离线

6. ST表

------------------------------------------------------------------------------


 STL

1. map

2. priority_queue

3. set

4. bitset

5. rope


时间复杂度(渐近时间复杂度的严格定义,NP问题,时间复杂度的分析方法,主定理)   排序算法(平方排序算法的应用,Shell排序,快速排序,归并排序,时间复杂度下界,三种线性时间排  序,外部排序)   数论(整除,集合论,关系,素数,进位制,辗转相除,扩展的辗转相除,同余运算,解线性同余方程,中国剩余定理) 指针(链表,搜索判重,邻接表,开散列,二叉树的表示,多叉树的表示) 按位运算(and,or,xor,shl,shr,一些应用) 图论(图论模型的建立,平面图,欧拉公式与五色定理,求强连通分量,求割点和桥,欧拉回路,AOV问题,AOE问题,最小生成树的三种算法,最短路的三种算法,标号法,差分约束系统,验证二分图,Konig定理,匈牙利算法,KM算法,稳定婚姻系统,最大流算法,最小割最大流定理,最小费用最大流算法) 计算几何(平面解几及其应用,向量,点积及其应用,叉积及其应用,半平面相交,求点集的凸包,最近点对问题,凸多边形的交,离散化与扫描) 数据结构(广度优先搜索,验证括号匹配,表达式计算,递归的编译,Hash表,分段Hash,并查集,Tarjan算法,二叉堆,左偏树,二斜堆,二项堆,二叉查找树,红黑树,AVL平衡树,Treap,Splay,静态二叉查找树,2-d树,线段树,二维线段树,矩形树,Trie树,块状链表) 组合数学(排列与组合,鸽笼原理,容斥原理,递推,Fibonacci数列,Catalan数列,Stirling数,差分序列,生成函数,置换,Polya原理) 概率论(简单概率,条件概率,Bayes定理,期望值) 矩阵(矩阵的概念和运算,二分求解线性递推方程,多米诺骨牌棋盘覆盖方案数,高斯消元) 字符串处理(KMP,后缀树,有限状态自动机,Huffman编码,简单密码学) 动态规划(单调队列,凸完全单调性,树型动规,多叉转二叉,状态压缩类动规,四边形不等式) 博奕论(Nim取子游戏,博弈树,Shannon开关游戏) 搜索(A*,ID,IDA*,随机调整,遗传算法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值