个人竞赛编程知识库 | Personal Competitive Programming Knowledge Base
| 统计项 | 数量 |
|---|---|
| C++ 源文件 | 5000+ |
| Python 文件 | 80+ |
| 算法模板类别 | 115+ |
| 题解总数(各平台) | 1400+ |
| 覆盖在线评测平台 | 18+ |
模板位于 Templates/ 目录,涵盖竞赛常用算法与数据结构。
| 模板 | 说明 |
|---|---|
| seg | 线段树(区间加、区间最值、动态开点、线段树上二分等) |
| fenwick | 树状数组 / 二叉索引树 |
| 主席树 | 可持久化线段树 |
| dsu | 并查集 |
| 带距离权并查集带路径压缩 | 带权并查集 |
| fhqtreap.cpp | FHQ Treap(无旋 Treap) |
| SB树 | Stern–Brocot 树 |
| pb_ds_tree | STL pb_ds 平衡树扩展 |
| pb_ds可并堆 | 可并堆(左偏树) |
| 链表 | 双向链表 |
| 笛卡尔树 | Cartesian Tree |
| ST表 | Sparse Table(RMQ) |
| 分块 | 根号分块 |
| 模板 | 说明 |
|---|---|
| dijkstra | Dijkstra 最短路 |
| SPFA | SPFA 最短路 |
| SCC | 强连通分量(Tarjan) |
| bcc_bridge | 点双连通分量 & 桥 |
| cut_point | 割点 |
| max-flow | 最大流(Dinic) |
| min-cost | 最小费用流 |
| min-cut | 最小割 |
| hld | 重链剖分 |
| LCA | 最近公共祖先 |
| 欧拉序_O1_LCA | 欧拉序 O(1) LCA |
| 欧拉路 | 欧拉路 / 欧拉回路 |
| tree_diameter | 树的直径 |
| 点分治 | 点分治 |
| 树上启发式合并 | DSU on Tree |
| 基环树 | 基环树 |
| n点n边的基环树森林找环 | 基环树森林找环 |
| 圆方树,点双 | 圆方树 |
| bigraph-weight-match | 二分图带权匹配(KM 算法) |
| 斯坦纳树 | Steiner Tree |
| 竞赛图找三元环 | 竞赛图三元环计数 |
| 2-sat | 2-SAT |
| 最大权闭合子图 | 最大权闭合子图 |
| dfs树性质 | DFS 树性质 |
| DFS | DFS 相关 |
| Kurskal | Kruskal 最小生成树 |
| secondary_mst | 次小生成树 |
| 扫描线 | 扫描线 |
| 线段树优化建图 | 线段树优化建图 |
| 线段树或时间线分治 | 线段树分治 |
| 模板 | 说明 |
|---|---|
| DP | 经典 DP 合集(凸包优化 CHT、斜率优化等) |
| knapsack | 背包 DP(0-1、完全、多重) |
| 数论分块 | 整除分块 |
| CDQ | CDQ 分治(三维偏序等) |
| 高维偏序 | 高维偏序 |
| 二维数点 | 二维数点 |
| 离线 | 离线算法 |
| 折半搜索 | Meet in the Middle |
| IDAstar | IDA* |
| Astar | A* |
| 反悔贪心 | 反悔贪心 |
| 矩阵快速幂 | 矩阵快速幂 |
| lagrange_interpolation.cpp | 拉格朗日插值 |
| 模板 | 说明 |
|---|---|
| FFT | 快速傅里叶变换 |
| ntt | 数论变换 NTT |
| Pollard_Rho_Miller_Rabin | 大数分解 & 素性测试 |
| prime_sieve | 素数筛(线性筛) |
| 分解质因数 | 质因数分解 |
| euler_totient | 欧拉函数 |
| ex_euler | 扩展欧拉定理 |
| C_n_m_mod_p | 组合数取模(Lucas 定理) |
| CRT | 中国剩余定理 |
| inverse_exgcd | 逆元 & 扩展 GCD |
| gcd_lcm | GCD & LCM |
| fast_gcd.cpp | 基于 Stein 优化的超快速 GCD |
| 基于stein优化的超快速gcd | 同上 |
| rational_mod | 有理数取模 |
| gauss | 高斯消元 |
| linear_equation | 线性方程组 |
| determinant | 行列式 |
| 莫比乌斯反演 | Möbius 反演 |
| catalan | 卡特兰数 |
| stirling | 斯特林数 |
| Big | 大数运算 |
| 模板 | 说明 |
|---|---|
| KMP | KMP 字符串匹配 |
| Z函数 | Z 函数 |
| AC自动机 | Aho-Corasick 自动机 |
| 01trie | 01-Trie(异或最大最小) |
| 哈希 | 字符串哈希 |
| 模板 | 说明 |
|---|---|
| convex_hull | 凸包 |
| half-plane | 半平面交 |
| 曼哈顿和切比雪夫 | 曼哈顿距离 ↔ 切比雪夫距离转换 |
| max_sub_rect | 最大子矩形 |
| 模板 | 说明 |
|---|---|
| ULTIMATE_IO.cpp | 极速 I/O |
| Read_Write | 快读快写 |
| basis | 线性基(异或基) |
| mo-algorithm | 莫队算法 |
| 三分 | 三分搜索(整数域) |
| ternary_search | 三分搜索(实数域) |
| 尺取 | 双指针 / 滑动窗口 |
| adjacent_diff | 差分数组 |
| 二维差分与前缀和 | 二维差分 & 前缀和 |
| 动态二阶差分 | 动态二阶差分 |
| dull_queue_stack | 单调队列 & 单调栈 |
| lowbit应用 | lowbit 应用 |
| 区间颜色数 | 区间颜色数 |
| 区间包含 | 区间包含判断 |
| interval_merge | 区间合并 |
| 找可以作为最小值的区间,相同值不重叠 | 区间最小值 |
| 括号序列 | 括号序列 |
| 二分图染色.cpp | 二分图判断 |
| rings-count | 环计数 |
| 线段树套线性基 | 线段树套线性基 |
| 多叉树 | 多叉树 |
| discrete_typedsu_prefixsum | 离散化 + 并查集 + 前缀和 |
| 筛法 | 线性筛综合 |
| 二维树状数组 | 二维树状数组 |
| gen.py | 数据生成器 |
| quine.cpp | Quine 程序 |
| 平台 | 题目数 | 目录 |
|---|---|---|
| Luogu 洛谷 | 655+ | luogu.com.cn/ |
| Codeforces | 608+ | codeforces.com/ |
| AtCoder | 48+ | atcoder.jp/ |
| 牛客竞赛 | 67+ | ac.nowcoder.com/ |
| VJudge | 51+ | vjudge.net/ |
| HDU OJ | 22+ | acm.hdu.edu.cn/ |
| QOJ | 27+ | qoj.ac/ |
| PinTia 拼题 A | 9+ | pintia.cn/ |
| ZJUT OJ | 11+ | zjutacm.cn/ |
| ThemeCp | 21+ | themecp.vercel.app/ |
| Reach-Top | 16+ | reach-top.cn/ |
| Saikr | 4+ | saikr.com/ |
| Yukicoder | 3+ | yukicoder.me/ |
| ECNU OJ | 3+ | acm.ecnu.edu.cn/ |
| 百度 AI Star | 3+ | astar.baidu.com/ |
| CSP | 3+ | csp.ccf.org.cn/ |
| 代码源 | 2+ | daimayuan.top/ |
| Kedacun | 3+ | kedacun.ac/ |
| BCPC | 1+ | bcpc.net.cn/ |
| 竞赛 | 目录 |
|---|---|
| ICPC 2025 网络赛(赛 1) | 2025icpc1/ |
| ICPC 2025 网络赛(赛 2) | 2025icpc2/ |
| ICPC 2022 Hangzhou | icpc2022hangzhou/ |
| CCPC | ccpc/ |
| 天梯赛 2025 | 天梯赛2025/ |
| 2024 ZJUT 迎新赛预赛 | 2024ZJUT迎新赛预赛_A-M_satsky/ |
| 网络赛 | 网络赛/ |
| Daily CF Problems | Daily_CF_Problems/ |
| Jiangly 模板参考 | jiangly/ |
CompetitiveProgramming/
├── Templates/ # 算法模板(115+ 类别)
├── codeforces.com/ # Codeforces 题解
├── luogu.com.cn/ # 洛谷题解
├── atcoder.jp/ # AtCoder 题解
├── ac.nowcoder.com/ # 牛客竞赛题解
├── vjudge.net/ # VJudge 题解
├── acm.hdu.edu.cn/ # HDU OJ 题解
├── qoj.ac/ # QOJ 题解
├── ... # 其他平台题解
├── 2025icpc1/ # ICPC 2025 网络赛 1
├── 2025icpc2/ # ICPC 2025 网络赛 2
├── icpc2022hangzhou/ # ICPC 2022 Hangzhou
├── ccpc/ # CCPC 题解
├── Daily_CF_Problems/ # 每日 CF 题目
├── jiangly/ # jiangly 模板参考
└── play/ # 练习 / 实验代码
主要使用语言:C++ | Main language: C++