C++ 算法与学习笔记仓库 仓库仍然在建设当中…… 🚀 图 例 ✅ 已完成 ⚠️ 未完成 🛠️ 学习中 📅 TODO List 🛠️ 语言基础 ✅ STL ✅ 竞赛常用库函数 ✅ 时间复杂度 🛠️ 基础算法 ✅ 高精度算法 ✅ 前缀和 ✅ 递归 ⚠️ 构造 ✅ 枚举 ✅ 进制转换 ✅ 离散化 🛠️ 位运算 🛠️ 贪心 ✅ 双指针 🛠️ 模拟 ✅ 排序 ✅ 选择排序 ✅ 桶排序 ✅ 堆排序 ✅ 快速排序 ✅ 冒泡排序 🛠️ 查找算法 ✅ 二分查找 🛠️ DFS 🛠️ DFS基础回溯 🛠️ DFS剪枝 🛠️️ BFS 🛠️ 记忆化 🛠️ 动态规划 动态规划基础 🛠️ LCS 🛠️ LIS 🛠️ 二维DP 🛠️ 线性DP ⚠️ 期望DP ⚠️ 区间DP 🛠️ 背包问题 ⚠️ 01背包 ⚠️ 单调队列优多重背包 ⚠️ 多重背包 ⚠️ 二维费用背包分组背包 ⚠️ 完全背包 🛠️ 树形DP ⚠️ 自上而下树形DP ⚠️ 自下而上树形DP ⚠️ 路径相关树形DP ⚠️ 换根DP ⚠️ 数位DP ⚠️ 状压DP 🛠️ 字符串 ⚠️ KMP字符串哈希 ⚠️ 字典树基础 ⚠️ tire ⚠️ Manacher 🛠️数学 🛠️ 线性代数与矩阵运算 ⚠️ 行列式 ⚠️ 高斯消元 ⚠️ 矩阵基本运算 🛠️ 数论 ✅ 费马小定理逆元 ⚠️ 素数筛 🛠️ 唯一分解定理 ⚠️ 裴蜀定理 ⚠️ 欧拉函数欧拉降幂 ✅ 快速幂 ⚠️ 矩阵乘法整除同余GCD/LCM ⚠️ 素数朴素判定埃式筛选法 🛠️ 组合数学 ⚠️ 计算原理 ⚠️ 排列组合 🛠️ 数据结构 🛠️ 基础数据结构 ⚠️ ST表 ⚠️ 可撤销并并查集 ⚠️ 堆 ⚠️ 带权并查集 ⚠️ 链表栈队列 ⚠️ 并查集基础 🛠️ 基础树上问题 ⚠️ DFS序 ⚠️ 树上差分 ⚠️ 树链剖分 ⚠️ 树的直径与重心 ⚠️ 树的基础和树的遍历 ⚠️ LCA 🛠️ 树形数据结构 ⚠️ 线段树维护矩阵 ⚠️ 线段树维护哈希 ⚠️ 线段树-动态开点 ⚠️ 线段树-标记永久化 ⚠️ 树状数组上二分 ⚠️ 树状数组基础 ⚠️ 平衡树-Splay ⚠️ 可持久化线段树 🛠️ 单调栈单调队列 🛠️ 分块 ⚠️ 分块基础 ⚠️ 普通莫队 🛠️ 图论 🛠️ 图的基础 ⚠️ 图的基本与遍历 🛠️ 拓扑排序 ⚠️ 基础拓扑排序 🛠️ 最短路 ⚠️ Floyd和Dijkstra算法 ⚠️ Johnson全员最短路 🛠️ 生成树 ⚠️ ️KruskalPrim 🛠️ 计算几何 🛠️ 二维计算几何基础 ✅ 点和线的关系 ✅ 点积和叉积 ✅ 计算集合基础 ⚠️ 任意多边形面积计算