rainyroad

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 3 4 5 6 7

2018年11月19日

摘要: //最短增广路,Dinic算法 struct Edge { int from,to,cap,flow; };//弧度 void AddEdge(int from,int to,int cap) //增弧 { edges.push_back((Edge){from,to,cap,0}); edges.push_back((Edge){to,from,0,0}); ... 阅读全文
posted @ 2018-11-19 21:04 rainyroad 阅读(116) 评论(0) 推荐(0) 编辑

摘要: //最小费用最大流算法 struct Edge { int from,to,cap,flow,cost; Edge(int u,int v,int c,int f,int w):from(u),to(v),cap(c),flow(f),cost(w){} }; struct MCMF{ int n,m; vector edges; vector G[max... 阅读全文
posted @ 2018-11-19 21:02 rainyroad 阅读(265) 评论(0) 推荐(0) 编辑

2018年11月17日

摘要: struct Edge { int from,to,flow,cap; Edge(int u,int v,int c,int f):from(u),to(v),cap(c),flow(f){} }; struct EdmonsKarp() { int n,m; vector edges; vector G[maxn]; int a[maxn]; ... 阅读全文
posted @ 2018-11-17 21:11 rainyroad 阅读(180) 评论(0) 推荐(0) 编辑

2018年11月14日

摘要: //由于Dijksrta算法,当图中的权值边含有负值时,求不出最短路 //原因是因为,每个结点只能入队一次,被访问过后永久标记,所以,当存在一条负的权值边 //使得某一个节点到源点s的距离更短时,无法再一次调用此结点更新其余的点 //所以下面介绍另外的两种算法 //Bellman-Ford算法:如果存在一条最短路,一定不存在环 //如果有环,则环程序会在环中循环,无法跑出来,如果存在最短路,一定... 阅读全文
posted @ 2018-11-14 21:33 rainyroad 阅读(208) 评论(0) 推荐(0) 编辑

摘要: 感觉自己太懒了,以后每天更博客激励自己吧。//时间复杂度O(n*n)的最短路算法 //首先需要设置一个访问数组v[maxn],一个数组d[maxn], memset(v,0,sizeof(v)); for(int i=0;id[x]+w[x][y]) { d[y]=d[x]+w[x][y]; fa[y]=x; //fa数组记录y节点的父节点,如果... 阅读全文
posted @ 2018-11-14 01:16 rainyroad 阅读(145) 评论(0) 推荐(0) 编辑

上一页 1 ··· 3 4 5 6 7