OI Note 传送中心
算法竞赛大型攻略 by command_block
已写作:82500 字(14%) 更新日期:2025.4.30
前言
- 食用说明
- 自序
数据结构
- 1.1 二叉数据结构
- 1.1.1 线段树
- 1.1.2 平衡树
- 1.1.3 K-Dimension Tree
- 1.2 数据结构的调度
- 1.2.1 CDQ 分治
- 1.2.2 二进制分组
- 1.2.3 线段树分治
- 1.2.4 整体二分
- 1.2.5 二区间合并(猫树分治)
- 1.3 树上数据结构
- 1.3.1 树的序列结构【全dfs序、换根】
- 1.3.2 静态链剖分
- 1.3.3 树分治
- 1.3.4 动态树
- 1.4 分块与平衡
- 1.4.1 根号分块
- 1.4.2 莫队
- 1.4.3 根号分治和自然根号
图论
- 2.1 基础算法
- 2.1.1 最短路【差分约束,同余最短路】
- 2.1.2 最小生成树【Kruskal 重构树】
- 2.1.3 连通性与可达性【2-SAT】
- 2.1.4 其他基础算法【拓扑排序,欧拉回路】
- 2.2 树
- 2.2.1 最近公共祖先【树上差分,全dfs序】
- 2.2.2 树的重心
- 2.2.3 树的直径
- 2.2.4 虚树
- 2.3 再论连通性与可达性
- 2.3.1 广义圆方树
- 2.3.2 支配树
- 2.3.3 耳分解
- 2.4 网络流
- 2.4.1 网络流算法
- 2.4.2 网络流和二分图经典模型
- 2.4.3 模拟费用流
动态规划
经典模型【DAG,记忆化搜索;区间 DP,排列 DP,树上 DP,状态压缩 DP,数位 DP】
动态规划的优化【数据结构优化,矩阵表示,矩阵快速幂,动态 DP,斜率优化,决策单调性,WQS 二分】
数论
- 整数与同余
- 4.1.1 基本概念
- 4.1.2 乘法逆元
- 4.1.3 线性同余方程组
- 4.1.4 组合数取模
- 4.1.5 质因数分解
- 4.1.6 离散对数与原根
- 4.1.7 二次剩余
- 4.1.8 杂项
- 习题
- 数论函数求和(上)
| 数论函数求和(下)
- 4.2.1 基本概念
- 4.2.2 莫比乌斯反演
- 4.2.3 整除
- 4.2.4 常见积性函数
- 4.2.5 高维变换
- 4.2.6 杜教筛
- 4.2.7 贝尔级数
- 4.2.8 Powerful Number
- 4.2.9 扩展埃氏筛
- 4.2.10 多元积性函数
- 习题
组合数学
组合问题选讲
博弈论
- 8.1.1 基本概念
- 8.1.2 SG 函数与 SG 和
- 8.1.3 常见模型
- 8.1.4 不平等博弈与超现实数
多项式
- 多项式的计算(上)
| 多项式的计算(下)
- 6.1.1 多项式乘法
- 6.1.2 多项式初等函数
- 6.1.3 分治 FFT
- 6.1.4 求值与插值
- 6.1.5 拉格朗日反演
- 6.1.6 转置原理
- 6.1.7 多项式复合
- 6.1.8 一元多项式的其他常见算法
- 6.1.9 位运算卷积与集合幂级数
- 6.1.10 多元多项式
- 生成函数引入
- 6.2.1 基本概念
- 6.2.2 二项式系数
- 6.2.3 简单组合恒等式 / 求和问题
- 习题
- 组合符号化(上)
| 组合符号化(下)
- 6.3.1 DP 中的卷积
- 6.3.2 解析组合
- 6.3.3 图计数选讲
- 6.3.4 概率生成函数
- 6.3.5 多元生成函数
- 习题
- 多项式和递推
- 6.4.1 线性递推
- 6.4.2 整式递推与 D-finite
- 6.4.3 二维递推
- (Todo:习题)
字符串
- 从匹配到自动机
- 7.1.1 KMP 算法【Border,Z 函数,失配树】
- 7.1.2 AC 自动机
- 后缀自动机
- 7.2.1 后缀自动机的建立【利用后缀自动机构建后缀树】
- 7.2.2 广义后缀自动机
- 7.2.3 对称压缩后缀自动机
- Border 与回文串
- 7.3.1 再论 Border
- 7.3.2 回文自动机
- 7.3.3 回文 Border
- 最小后缀
- 7.4.1 潜在最小后缀
- 7.4.2 Lyndon 串
- Runs 与本原平方串
- 7.5.1 The Runs Theorem
- 7.5.2 本原平方串
字数统计:
1 | 数论函数求和(上) 8000 |