![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模板
rainbowsea_1
难得有了目标,怎么可以还是烂人一条!
展开
-
强连通(tarjan算法模板)
理解思路 const int MAX_N = 503; const int MAX_M = 2e4 + 6; struct Edge{ int v; int next; }; Edge edge[2 * MAX_M]; int head[MAX_N]; int dfn[MAX_N], low[MAX_N]; int tot, cnt; void add_edge(int u, int v) { edge[++tot].v = v; edge[tot].next = head[原创 2020-09-05 15:54:48 · 83 阅读 · 0 评论 -
强连通-kasaraju算法模板
int N, M; vector<int> G[MAX]; vector<int> rG[MAX]; vector<int> vs; bool used[MAX]; int cmp[MAX]; void add_edge(int from, int to){ G[from].push_back(to); rG[to].push_back(from); } void dfs(int v) { used[v] = true; for(int原创 2020-09-05 15:16:41 · 137 阅读 · 0 评论 -
DLX精准覆盖模板
DLX精准覆盖模板 const int maxn = 200; const int maxr = 200; const int maxnode = 1e6; struct DLX{ int U[maxnode], D[maxnode], L[maxnode], R[maxnode]; int row[maxnode], col[maxnode]; int S[maxn], H[maxr], ans[maxr], ansd, sz; int n,m; void init(int n, int m)原创 2020-07-17 21:00:58 · 118 阅读 · 0 评论 -
二分匹配模板
二分匹配模板 #include <cstdio> #include <vector> #include <algorithm> #include <cstring> using namespace std; const int MAX_K = 1e4 + 5; const int MAX_V = 1e5 + 10; vector<int&...原创 2020-02-25 15:44:12 · 55 阅读 · 0 评论 -
字符串相关模板
这里写目录标题树分治离散化三级目录 树分治 const int INF = 0x3f3f3f3f; int head[MAX], to[MAX << 1],len[MAX << 1], next[MAX << 1]; int sizee[MAX], deep[MAX], vis[MAX], son[MAX], dis[MAX]; int root, cnt, tot, ans, all; void add(int x, int y, int z){ to[++cn原创 2020-07-30 14:44:54 · 122 阅读 · 0 评论