嗯。

嗯。

网络流模板 Dinic+ISAP

dinic递归版,堆栈溢出可以手动扩栈,改成非递归版本,或者改用效率更高的ISAP。 struct Edge { int from, to, cap, flow; Edge(){} Edge(int from, int to, int cap, int flow) : from(f...

2016-07-13 09:34:16

阅读数 369

评论数 0

Splay树模版

#include #include #include #include using namespace std; typedef long long LL; const int maxn = 1000010; int pre[maxn], ch[maxn][2], sz[ma...

2016-07-12 09:32:43

阅读数 202

评论数 0

划分树模版

#include #include #include using namespace std; const int maxn = 100010; int tree[20][maxn], toleft[20][maxn], a[maxn]; void build(int l, in...

2016-07-11 09:35:53

阅读数 212

评论数 0

主席树模版

主席树模版 #include #include #include using namespace std; const int maxn = 100010; int ls[maxn*20], rs[maxn*20], sum[maxn*20]; int T[maxn], ...

2016-07-08 09:55:26

阅读数 294

评论数 0

字典树模版

静态版本 #include #include using namespace std; int ch[maxnode][sigma_size]; int val[maxnode]; int sz; void init() { sz = 1; memset(ch[0...

2016-07-07 18:35:35

阅读数 170

评论数 0

最近公共祖先模版

离线算法 #include #include using namespace std; typedef long long LL; const int maxn = 12; int first[maxn], cnt; int anc[maxn][maxn], n; LL a[m...

2016-07-07 18:35:31

阅读数 229

评论数 0

主席树模版

参考wuyiqi #include #include #include using namespace std; const int maxn = 100010; int ls[maxn*20], rs[maxn*20], sum[maxn*20]; int T[maxn], tot; ...

2015-03-24 16:33:56

阅读数 1377

评论数 0

扩展baby step giant step模版

#include #include #include #include using namespace std; typedef __int64 LL; LL gcd(LL a, LL b) { return b ? gcd(b, a%b) : a; } LL pow_mod(LL a,...

2015-03-16 16:42:27

阅读数 578

评论数 0

莫比乌斯模版

#include #include #include using namespace std; typedef long long LL; const int maxn = 100010; int mu[maxn], prime[maxn], vis[maxn]; int cnt; int ...

2015-03-11 14:44:29

阅读数 648

评论数 0

树链剖分模版

#include #include #include using namespace std; const int maxn = 10010; struct edge { int v, next; }e[maxn*2]; int first[maxn], cnt; int top[max...

2015-02-02 13:34:48

阅读数 711

评论数 0

二维线段树模版

HDU 4819 二维线段树模版题 #include #include #include using namespace std; const int INF = 999999999; const int maxn = 810; int a[maxn][maxn]; int st_min[...

2014-09-22 19:55:47

阅读数 1344

评论数 0

求原根模版

#include #include using namespace std; typedef long long LL; int p[100000], c; LL pow_mod(LL a, LL x, LL m) { LL ans = 1; while(x) { if(x&am...

2014-09-20 21:37:18

阅读数 1611

评论数 0

欧拉回路模版

#include #include #include using namespace std; const int maxm = 40010; const int maxn = 1010; int first[maxn], cnt; struct edge { int u, v, next...

2014-09-10 22:11:07

阅读数 907

评论数 0

splay树模版

#include #include using namespace std; typedef long long LL; const int maxn = 100010; int pre[maxn], ch[maxn][2], sz[maxn]; int root, top1; int s[m...

2014-09-03 14:38:04

阅读数 853

评论数 0

Miller_Rabin大素数测试与Pollard_rho整数分解模版

#include #include #include #include using namespace std; typedef __int64 LL; const int Times = 20; LL factor[100], l; LL gcd(LL a, LL b) { retur...

2014-08-30 20:21:15

阅读数 929

评论数 0

treap模版

#include #include #include using namespace std; struct Node { Node *ch[2]; int r; int v; int s; Node(int v): v(v) { ch[0] = ch[1] = NULL; ...

2014-08-28 22:07:12

阅读数 807

评论数 0

最近公共祖先模版

LCA tarjan 的离线算法 #include #include #include using namespace std; const int maxn = 40010; int first[maxn], head[maxn], cnt, sum; struct edge { int...

2014-07-08 15:21:31

阅读数 880

评论数 0

高斯消元模版

矩阵的秩 typedef int Matrix[maxn][maxn]; int rank(Matrix A, int m, int n) { int i = 0, j = 0, k, r, u; while(i < m && j < n) { r = i; ...

2014-06-17 13:30:54

阅读数 823

评论数 0

二分匹配模版

const int maxn = 10010; int vis[maxn]; int y[maxn]; vector G[maxn]; int n; bool dfs(int u) { for(int i = 0; i < G[u].size(); i++) { int v = ...

2014-06-12 19:47:26

阅读数 844

评论数 0

拓扑排序模版

bool Topo() { int sum = 0; while(1) { queue Q; for(int i = 1; i <= n; i++) if(!in[i]) Q.push(i); sum += Q.size(); if(sum == n) ...

2014-06-09 12:19:15

阅读数 887

评论数 0

提示
确定要删除当前文章?
取消 删除