准备一波模板,上机考之前抱抱佛脚。。。
头文件
1 | // #include <bits/stdc++.h> |
Eratosthenes筛法
1 |
|
gcd & lcm
1 | int gcd(int a, int b) { |
快速幂
1 | ll powerMod(ll x, ll n, ll m) { |
大数加法
1 | string add1(string s1, string s2) { |
大数阶乘
1 | const int maxn = 100010; |
全排列
1 | void pern(int list[], int k, int n) { // k表示前k个数不动仅移动后面n-k位数 |
二分
1 | int binarySearch(int l, int r, int key) { |
dfs & bfs
1 | void dfs(当前状态) { |
LIS
1 | /* |
LCS
1 | void solve() { |
Bellman-Ford
1 | /** |
Dijkstra
1 |
|
Floyd
1 | /** |
SPFA
1 | /** |
最小生成树
Prim
1 | /** |
Kruskal
1 | /** |
并查集
1 | int fa[MAX_N]; |
线段树
点更新
1 | struct node |
区间更新
1 | const int maxn = 100010; |