自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 LCA/RMQ预处理

以HDU 3078 为例。通过LCA/RMQ,找到u,v之间的第K大值即可。 #include #include #include #include #include #include #include #include #include #include using namespace std; const int maxn = 80010; i

2013-05-23 11:32:29 683

原创 Dinic模板

#include #include #include #include #include #include #include #include #include #include using namespace std; struct Edge { int from, to, cap, flow; Edge(int from, int to,

2013-05-18 11:23:51 526

原创 拓扑排序模板

#include #include #include #include #include #include #include #include #include #include #include using namespace std; const int maxn = 110; const int maxm = 110*110; str

2013-05-07 19:31:04 580

原创 最小费用最大流模板

以POJ 2195 为例。 #include #include #include #include #include #include #include #include #include #include using namespace std; const int maxn = 10010; const int INF = 0x3f3f3f3f

2013-04-20 20:00:34 534

原创 C++bign类高精度模板

#include #include #include #include #include #include using namespace std; const int MAXN = 410; struct bign { int len, s[MAXN]; bign () { memset(s, 0, sizeof(s)); len =

2012-12-23 21:55:55 528

原创 二分多重匹配模板

以POJ 2289 为例。 #include #include #include #include #include #include #include using namespace std; const int MAXN = 1010; const int MAXM = 1010*510; struct Edge { int v; int next; }edge[MAX

2012-12-02 00:25:54 325

原创 Sap算法模板

#include #include #include #include #include using namespace std; const int MAXN = 210; const int MAXM = 210*210; const int INF = 0x3f3f3f3f; struct Edge { int v, next; int f;

2012-11-22 12:41:12 402

原创 Dinic模板

以POJ 4273为例。 #include #include #include #include #include #include #include using namespace std; const int MAXN = 210; const int MAXM = 210*210; const int INF = 0x3f3f3f3f; stru

2012-11-21 13:21:17 276

原创 DAG单源最短路径

1、基本算法 我们知道DAG上一定存在拓扑排序,且若在有向图G中从顶点Vi->Vj有一条路径,则在拓扑排序中顶点Vi一定在顶点Vj之前,而因为在DAG图中没有环,所以按照DAG图的拓扑排序进行序列最短路径的更新,一定能求出最短路径。 2、基本步骤 处理顶点V时,对每条离开的边执行松弛运算,若果给出从源点到u的一条最短路径(经过v),则更新到u的最短路径。这个过程将检查图中每个顶点的所有路径,

2012-11-20 17:55:41 473

原创 DAG单源最短路径

1、基本算法 我们知道DAG上一定存在拓扑排序,且若在有向图G中从顶点Vi->Vj有一条路径,则在拓扑排序中顶点Vi一定在顶点Vj之前,而因为在DAG图中没有环,所以按照DAG图的拓扑排序进行序列最短路径的更新,一定能求出最短路径。 2、基本步骤 处理顶点V时,对每条离开的边执行松弛运算,若果给出从源点到u的一条最短路径(经过v),则更新到u的最短路径。这个过程将检查图中每个顶点的所有路径,

2012-11-20 17:51:40 420

原创 二分匹配之匈牙利算法

匈牙利算法的原理为:从当前匹配M出发(如果没有匹配,则取初始匹配M = φ),检查没一个未盖点,然后从它出发寻找可增广路,找到可增广路,则沿着这条可增广路进行扩充,知道不存在增广路为止。   根据从未盖点出发寻找增广路搜索的办法,可以分为:1、DFS增广。 2、BFS增广。 在算法中用到的一些变量定义以及预处理如下: #include #include #include #inc

2012-11-10 16:52:13 463

原创 交叉染色法判断二分图

预处理: #include #include #include #include #include using namespace std; const int MAXN = 210; const int MAXM = 210*210; struct Edge { int v, next; }edge[MAXM]; int n, m; in

2012-11-06 15:35:36 1302

原创 Tarjan模板

Tarjan模板。 预处理: #include #include #include #include #include using namespace std; #define MAXN 50010 #define MAXM 100010 struct Edge { int v, next; int id; // for(int i =

2012-11-04 20:23:17 420

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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