学不完,根本学不完!

YZY Lv3

算法

大类 二级分类 / 主题 细分条目
动态规划 (DP) 线性 DP LIS、LCS、最长递增子串、编辑距离、背包一维滚动、最长公共子序列等
状压 DP 高维前缀和、动态高维前缀和、TSP、Hamilton Path、骑士/皇后巡游
区间 DP 石子合并、括号匹配、矩阵连乘、最优二叉搜索树
树形 DP 普通型、换根型、树上背包、树上分组、树上直径
概率 DP 赌徒输赢、期望步数、Markov 链 DP
数位 DP 计数型、限制型(前导零 / 不含某数字)
背包 01 背包、无限背包、多重背包、树形背包、分组背包、混合背包、多维背包、巨大背包
记忆化搜索 递归+哈希 / 备忘录、不可重入状态
轮廓线 DP 格子覆盖、最小路径覆盖、棋盘填充
插头 DP 计数型棋盘、连通块计数
计数 DP 有限自动机计数、组合计数 DP
图上 DP DAG DP、最短路 DP
基环树 DP 树 + 一条环上断边枚举
自动机 DP(状态机模型) AC 自动机 DP、DFA DP
分治 DP CDQ 分治 DP、整除分块 DP
填坑 DP “填坑”序列 、平衡序列
在线 DP / 带修改 DP 动态规划+可撤销并查集、线段树 DP
DP 套 DP DP of DP、二重 DP(如 LCS on tree)
优化 单调栈优化、单调队列优化、四边形不等式、斜率优化(Convex Hull Trick)、数据结构优化、决策单调性
数据结构 队列 普通队列、双端队列、单调队列
普通栈、单调栈
链表 普通链表、双向链表、循环链表、跳表 / 块状链表、邻接表 & 邻接矩阵
普通堆、对顶堆 (small-big heap)、斐波那契堆、左偏堆
线段树 基础线段树、权值线段树、主席树(可持久化)、李超线段树、线段树合并、zkw 线段树(非递归)
树状数组 1D / 2D BIT、差分树状数组
平衡树 Splay、Treap、FHQ Treap、可持久化平衡树、AVL、替罪羊树、红黑树
并查集 普通并查集、带权并查集、可持久化并查集
ST 表 RMQ、倍增 LCA 基础
DLX Dancing Links
KD 树 普通 KD、动态 KD(重构 / BBST KD)
树套树 线段树套线段树、线段树套平衡树
笛卡尔树 Cartesian Tree(RMQ 递归构造)
LCT Splay LCT、可持久化 LCT(Euler Tour Tree)
虚树 在重链剖分 / dfs 序上快速建虚树
树链剖分 重链剖分、长剖(长链剖分)
树的启发式合并 DSU on tree、启发式合并字典树
DSU on tree 子树颜色统计、重儿子启发式
划分树 位次第 k 统计
析合树 分治图连通性
动态树 Euler Tour Tree、Top Tree
RMQ ST 表、线段树、Tarjan LCA
差分数组 / 前缀和 静态 O(1) 区间和
AC 自动机 fail 树、fail 树差分
SA 数组 DC3、SA-IS、倍增
SA 自动机 SAM
Trie 普通 Trie、可持久化 Trie
后缀树 Ukkonen、McCreight
回文自动机 PAM
分块 经典莫队、链上分块、树上分块、带修莫队
左偏树 可并堆、Kruskal 重构树子堆
点分治 / 点分树 处理路径统计类
CDQ 分治 三维偏序、逆序对
仙人掌 无向 / 有向
pb_ds 库 hash table、order-statistics tree
STL vector、priority_queue、deque …
树的哈希 多模哈希 / 质数取模
串的哈希 翻转哈希、双哈希
B 树 & B+ 树 数据库索引
珂朵莉树 (ODT) 区间赋值+统计
van Emde Boas 树 2^w 级别字典树
不相交集合森林 Link-Cut like 多根 Forest 维护并查集
二叉堆 d-ary Heap 泛化
矩阵树 Kirchhoff 定理矩阵树数
回文树 与 PAM 重复,可合并引用
Kruskal 重构树 离线最小生成树集
杨表 Young Tableau
Top Tree 动态树另一实现
计算几何 基本知识 点集、叉积、极角序、Pick 定理
线段 / 直线 相交判定、交点、旋转
多边形 凸包、多边形包含、旋转卡壳、半平面交、重心、格点数、凸包直径、凸多边形交并、多边形核、凸包与直线集交
交点/切线、面积交并、最小圆覆盖、圆反演、圆离散化、圆与线求交、圆与凸包求交
三角剖分 Delaunay、Ear Clipping
扫描线 线段相交、矩形并面积
数值计算 辛普森积分、自适应辛普森、牛顿迭代、高斯求积
点定位 点在多边形、点在圆
凸包快速操作 动态凸包、半平面插入
Voronoi 图 Fortune 算法
最近点对 平面 / 三维
三维计算几何 点/线/面/向量旋转、长方体表面最短路、点积/叉积/混合积、四面体体积、最小球覆盖、三维凸包
三角形四心 重心、垂心、外心、内心
平面最小哈曼顿生成树 -
最大空凸包 -
平面划分 直线 / 圆 划分平面
费马点 Torricelli 点
托勒密定理 四边形内接圆判定
对心点 (Antipode) 直径 & 旋转卡壳
闵可夫斯基和 碰撞检测
数论 基础与筛法 埃式筛、欧拉筛、线性筛、杜教筛
基本运算 gcd / lcm、快速幂、逆元、扩展欧几里得
定理 费马 / 欧拉、扩展欧拉
原根 / 阶 检测生成元
单位根 n-th root of unity
类欧几里得 模意义下除法
同余方程组 CRT、扩展 CRT
Lucas 定理 Lucas、exLucas
离散对数 BSGS、Pohlig-Hellman
整除分块 Dirichlet 前缀和
反演与卷积 狄利克雷卷积、莫比乌斯反演、单位根反演
min25 筛 高级质数计数
大整数质性检测 Miller Rabin、Pollard Rho
佩尔方程 x² − Dy² = 1
二次剩余 勒让德符号、Cipolla
矩阵 矩阵快速幂、Gauss 消元、行列式、矩阵求逆、矩阵树定理
线性递推 BM、常系数线性递推
组合数学 组合数、二项式定理、容斥原理、卡特兰数、斯特林 I&II、贝尔数、伯努利数、拆分数、错排、斐波那契、LGV 引理、Prufer 序列、杨表、Newton 恒等式
概率论 期望线性性、条件概率
博弈论 Nim、SG 函数、不平等博弈
FFT / NTT 多项式乘法、求逆、开方、多点求值、MTT、FMT
多项式 拉格朗日插值、多项式全家桶、FWT / FMT、生成函数
群论 置换群、Burnside、Polya
线性规划 单纯形、对偶
质因数分解 Pollard 算法族
其他 单变元模线性方程、N 次剩余、平方剩余、欧拉函数、Mobius 函数、进制转换、格雷码、高精度、除数函数、积性函数、三角形数、降幂公式、Bertrand 猜想、威尔逊定理、最小二乘、哥德巴赫猜想
图论 图的存储 邻接表、前向星、链式前向星、邻接矩阵
遍历与排序 DFS、BFS、拓扑排序
欧拉 / 哈密顿 欧拉图、哈密顿图
最短路 Dijkstra(朴素/堆)、Bellman-Ford、SPFA、最短路径树(BFS / Dijkstra)、Floyd-Warshall、k 短路、差分约束、Floyd 最小环
最小生成树 Prim、Kruskal、Boruvka、次小生成树
最小树形图 Chu-Liu/Edmonds
LCA Tarjan 离线、倍增、ST + DFS、树剖+线段树
直径 双 BFS、树 DP
连接性 点/边双 BCC(Tarjan、割点/割边、圆方树、Kosaraju & 缩点)
二分图 染色判定、匈牙利、Hopcroft-Karp、KM、最大匹配、DAG
网络流 Dinic、ISAP、HLPP、Edmonds-Karp、Push-Relabel、最小费用最大流(SSP)、ZKW 费用流、Cost-Scaling、可行流、上下界流、全局最小割
2-SAT 强连通 + 拓扑
竞赛图 Tournament 排序
斯坦纳树 Dreyfus-Wagner
一般图匹配 Edmonds Blossom
支配树 Lengauer-Tarjan
弦图判定 MCS
仙人掌图 无向 / 有向
混合图欧拉回路 Hierholzer
限制 MST 单边限制 MST、最优比例 MST
完美消除序列 Chordal Graph
最大团 / 极大团 Bron–Kerbosch、Tomita
图同构 Weisfeiler-Lehman、AHU(树同构)
Johnson Johnson all-pairs shortest
Ford-Fulkerson 增广路基础
推送-重贴标签 HLPP、前置重贴标签
树计数与编码 Kirchhoff、普吕弗序列、模 2 匹配数
字符串 基本算法 KMP、扩展 KMP、Manacher
自动机 AC 自动机、SA 自动机、回文自动机、有限状态自动机 (DFA/NFA)
后缀结构 SA 数组(DC3、SA-IS、倍增)、后缀树
哈希 单模 / 双模字符串哈希
最小表示 最大循环串、Lyndon 分解
其他 Rabin-Karp、Trie
杂项 排序 选择、冒泡、插入、快速、归并、桶、基数、堆、希尔、计数
模拟 网格走迷宫、日期进位、字符串编辑
递归 / 回溯 N-皇后、数独、全排列
贪心 Huffman、排序不等式、绝对值不等式、区间调度
二分 / 三分 单峰函数极值、最小可行值
高精度 BigInteger、快速乘
前缀和 / 差分 一维/二维
逆序对 树状数组 / 归并
扫描线 面积并、矩形交
双指针 滑动窗口、尺取
倍增 ST、LCA、倍增跳、字符串倍增
枚举子集 / 超集 状压枚举、子集卷积
搜索 DFS、BFS、A*、IDA*、Flood Fill、DLX、折半搜索、剪枝
分治 树上分治、点分树、边分、动态点分、CDQ 分治
随机化 随机快排、爬山法、模拟退火、遗传算法、随机增量
快读 / 快写 getchar、ios::sync_with_stdio(false)
对拍 随机数据 + 暴力比对
拟阵 最小割 = 最大流、矩阵秩
转换 / 构造 / 计算 基本构造题、位运算技巧
主定理 分治复杂度 T(n)
区间树 Interval Tree、Segment Tree
核算法 凸包核、核心维护
势能法 摇摆排序 amortized
动态表 HashMap 负载扩容
聚合分析 Potentials
多线程算法 并行归并、锁分离
NP 完全 SAT、TSP、VC
近似算法 顶点覆盖、TSP、集合覆盖、LP-Round、子集和
随机化算法 随机数、数值随机化、舍伍德、Las Vegas、Monte Carlo
  • Title: 学不完,根本学不完!
  • Author: YZY
  • Created at : 2025-06-17 00:54:07
  • Updated at : 2025-06-17 00:54:07
  • Link: https://blog.dtoj.team/2025/06/17/学不完,根本学不完/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments
On this page
学不完,根本学不完!