221 字
1 分钟
算法竞赛常用代码模板
模板列表
本代码模板集包含以下内容:
基础算法
- 快速排序
- 归并排序
- 二分查找
搜索
- DFS 模板
- BFS 模板
- 回溯法
图论
- Dijkstra 最短路
- Floyd 全源最短路
- Kruskal 最小生成树
- 拓扑排序
数据结构
- 并查集
- 线段树
- 树状数组
数学
- 快速幂
- GCD / LCM
- 素数筛
使用示例
快速幂模板
long long quickpow(long long base, long long exp, long long mod) { long long result = 1; base %= mod; while (exp > 0) { if (exp & 1) result = result * base % mod; base = base * base % mod; exp >>= 1; } return result;}并查集模板
int fa[MAXN];
void init(int n) { for (int i = 1; i <= n; i++) fa[i] = i;}
int find(int x) { return fa[x] == x ? x : fa[x] = find(fa[x]);}
void unite(int x, int y) { fa[find(x)] = find(y);}TIP建议根据自己的使用习惯修改模板,形成自己的代码库。