OI学习列表
杂项
排序
- 归并排序
选择排序- 快速排序
冒泡排序桶排序- 插入排序
- 堆排序
分治
二分查找三分查找二分答案
搜索
BFS(广度优先搜索)DFS(深度优先搜寻)- 记忆化搜索
方法
并查集- 差分
- 前(后)缀和
- 莫队
- 存图
邻接表邻接矩阵
- 拓扑序
- DFS序
- 差分约束系统
- 矩阵乘法
- STL
DP
种类
- 线性dp
- 计数dp
- 区间dp
- 数位dp
- 状压dp
- 树形dp
- 背包dp
- 动态dp
- 插头dp
- 期望dp
背包九讲
01背包(及其优化)- 完全背包
- 多重背包
- 混合三种背包
- 二维背包
- 分组背包
- 有依赖背包
- 泛化物品
- 问法变化
优化
- 斜率优化
- 单调队列优化
- 四边形不等式
- 矩阵优化
- 数据结构
例题
P1216 数字三角形
P1060 开心的金明
P1164 小A点菜
P5020 货币系统
P1855 榨取kkksc03
P1040 加分二叉树
P1880 [NOI1995]石子合并
P2466 [SDOI2008]Sue的小球
P3147 [USACO16OPEN]262144
P1352 没有上司的舞会
P2014 选课
P2679 子串
P3047 [USACO12FEB]附近的牛Nearby Cows
P3647 [APIO2014]连珠线
P1879 [USACO06NOV]玉米田Corn Fields
P4802 [CCO 2015]路短最
P4042 [AHOI2014/JSOI2014]骑士游戏
P3403 跳楼机
P4294 [WC2008]游览计划
P5858 「SWTR-03」Golden Sword
P2602 [ZJOI2010]数字计数
P3628 [APIO2010]特别行动队
P3097 [USACO13DEC]最优挤奶Optimal Milking
最短路
DijkstraSPFABellman-FordFloyd
最小生成树
Kruskal- Prim
字符串
- 最长回文子串Manacher
- Hash
- 最小表示法
- KMP及扩展KMP
- Trie树(字典树)
- AC自动机
- 后缀自动机
- 后缀数组
数据结构
- 常用
- 堆(优先队列)
- 树状数组
- 线段树
- 扫描线
- 高级
- 块状链表
- 平衡树
- Treap
- 传统旋转式
- 非旋转式
- Splay(伸展树)
- 替罪羊树
- 红黑树
- Treap
- 笛卡尔树
- 左偏树
- 主席树
- 树链剖分
- LCT(Link-Cut-Tree)
- 整体二分
- 树套树
- CDQ分治
- 可持久化
- KDtree
- 李超线段树
树的分治
- 点分治
- 边分治
图论
Tarjan- 割点、割边(桥)
- 点双、边双
- LCA
2-SAT- 仙人掌&圆方树
- 最大权闭合子图
- 单纯形
- 平面图转对偶图
- 消圈
数学
- 整数分块
- 欧几里德算法
- 扩展欧几里得算法
- 乘法逆元
- 高斯消元
- 中国剩余定理
- Pollard-Rho 大数因式分解
- Miller-Rabin 大质数判断
- 博弈
- 欧拉函数
- 线性筛 积性函数
- 洲阁筛(?)
- Min_25筛(?)
- 莫比乌斯反演
- 杜教筛
- 容斥原理
- Burnside引理和Polya定理
- FFT
- NTT
- 组合数学
- Simpson(自适应辛普森算法)
- 线性基
- 常系数线性递推式
- 筛素
- 判断
- Miller-Rabin 大质数判断
- Pollard-Rho 大数因式分解
- O ( N ) O(\sqrt{N}) O(N)判断
- O ( N 3 ) O(\frac{\sqrt{N}}{3}) O(3N)判断
- 筛法
- 埃氏筛
- 欧拉筛(线性筛)
- 判断