cp icon indicating copy to clipboard operation
cp copied to clipboard

Competitive Programming Solutions

The expert at anything was once a beginner – Helen Hayes

.
├── 动态规划
│   ├── LIS
│   ├── LCS
│   ├── 区间DP
│   ├── 单调队列优化DP
│   ├── 数据结构优化DP
│   ├── 四边形不等式
│   ├── 基环树DP
│   ├── 插头DP
│   ├── 数位DP
│   ├── 斜率优化DP
│   ├── 树形DP
│   ├── 状压DP
│   ├── 倍增优化DP
│   ├── 状态机类DP
│   ├── 计数类DP
│   ├── 记忆化搜索
│   └── 背包类问题
├── 图论
│   ├── 2-SAT
│   ├── Floyd&闭包
│   ├── Prufer编码
│   ├── 二分图
│   │   ├── 最大匹配(无权)
│   │   ├── 最小点覆盖
│   │   ├── 最大独立集
│   │   ├── 最小不相交路径覆盖
│   │   └── 最小重复(相交)路径覆盖
│   ├── 单源&多源最短路
│   ├── 最小环问题
│   │   ├── Floyd
│   │   ├── Dijkstra删边法
│   │   └── Shortest Circle Faster Algorithm
│   ├── 强连通分量
│   ├── 拓扑排序
│   ├── 无向图双连通分量
│   ├── 最小生成树
│   ├── 最近公共祖先
│   ├── 朱刘算法
│   ├── 欧拉回路&欧拉路径
│   ├── 网络流
│   │   ├── 最大流
│   │   │   ├── 二分图匹配
│   │   │   ├── 上下界最大流
│   │   │   ├── 多源汇最大流
│   │   │   ├── 最大流关键边
│   │   │   ├── 最大流判定
│   │   │   └── 最大流拆点
│   │   ├── 最小割
│   │   │   ├── 最大权闭合图
│   │   │   ├── 最大密度子图
│   │   │   ├── 最小点权覆盖集
│   │   │   ├── 平面图转最短路
│   │   │   └── 最大点权独立集
│   │   └── 费用流
│   │       ├── 二分图最优匹配
│   │       ├── 最大权不相交路径
│   │       ├── 网格图模型
│   │       ├── 上下界费用流
│   │       └── 费用流拆点
│   └── 负环
│       ├── 差分约束
│       └── 01分数规划
├── 基础算法
│   ├── RMQ
│   ├── 二分
│   ├── 位运算
│   ├── 前缀和与差分
│   ├── 启发式合并
│   ├── 打表
│   ├── 排序
│   ├── 最小表示法
│   ├── 构造
│   └── CDQ分治
├── 搜索
│   ├── A*
│   ├── 连通性问题
│   ├── Flood Fill
│   ├── IDA*
│   ├── 双向BFS
│   ├── 双向DFS
│   ├── 双端队列BFS
│   ├── 多源BFS
│   ├── 最小步数模型
│   ├── 最短路模型
│   ├── 模拟退火
│   ├── 爬山法
│   └── 迭代加深搜索
├── 数学
│   ├── BSGS
│   ├── FFT/NTT/FWT
│   ├── Polya定理
│   ├── 分解质因数
│   ├── 博弈论
│   ├── 同余
│   ├── 容斥原理
│   ├── 快速幂
│   ├── 斐波那契
│   ├── 斯特林数
│   ├── 概率期望
│   ├── 欧拉函数
│   ├── 生成函数
│   ├── 矩阵乘法
│   ├── 积性函数
│   ├── 筛质数
│   ├── 约数
│   ├── 线性基
│   ├── 组合计数
│   ├── 置换群
│   ├── 莫比乌斯反演
│   └── 高斯消元
├── 数据结构
│   ├── AC自动机
│   ├── Dancing Links
│   ├── 笛卡尔树
│   ├── 动态树
│   ├── 可持久化数据结构
│   │   ├── 可持久化线段树
│   │   └── 可持久化Trie
│   ├── 后缀数组
│   ├── 后缀自动机
│   ├── 块状链表
│   ├── 左偏树
│   ├── 平衡树
│   │   ├── Treap
│   │   ├── FHQ-Treap
│   │   └── Splay
│   ├── 并查集
│   ├── 树套树
│   │   ├── 线段树套STL
│   │   ├── 线段树套Splay
│   │   └── 线段树套线段树
│   ├── 树状数组
│   ├── 树链剖分
│   ├── 点分治和点分树
│   ├── 普适线段树
│   ├── ZKW线段树
│   └── 莫队算法
│       ├── 朴素莫队
│       ├── 带修改莫队
│       ├── 回滚莫队
│       ├── 树上莫队
│       └── 二次离线莫队
├── 计算几何
│   ├── 点积叉积
│   ├── 二维凸包
│   ├── 三维几何与三维凸包
│   ├── 半平面交
│   ├── 旋转卡壳
│   ├── 最小圆覆盖
│   ├── 扫描线
│   ├── 三角剖分
│   └── 自适应辛普森积分
├── 贪心
│   ├── 区间问题
│   ├── Huffman树
│   ├── 排序不等式
│   ├── 绝对值不等式
│   └── 反悔贪心
└── 字符串
    ├── AC自动机
    ├── KMP算法
    ├── Manacher算法
    ├── 后缀数组
    ├── 后缀自动机
    ├── 字符串哈希
    └── 字符串最小表示