图论
欧菲博客
这个作者很懒,什么都没留下…
展开
-
uva6467
#include #include #include #include #include using namespace std; #define maxe 2000 #define maxn 1000 struct edge{ int v,next; }E[maxe+10]; int head[maxn+10],e; void init(){ memset(head,-1,sizeof(he原创 2014-07-15 18:39:06 · 336 阅读 · 0 评论 -
ZOJ2966最小生成树
#include #include #include #include #define maxn 500 #define maxm 500*500/2 using namespace std; int T,n,m; struct edge{ int u; int v; int k; bool operator<( const edge & e1 )const{ return k>e1.原创 2014-07-18 07:35:15 · 489 阅读 · 0 评论 -
Tarjan应用:无向图删点后剩余的连通分支数目
void dfs(int u,int pa){ dfn[u]=low[u]=++t; for(int i=0;i<edges[u].size();i++){ int v=edges[u][i]; if(v==pa)continue; if(!low[v]){ dfs(v,u); if(low[v]>=dfn[u])block[u]++; els原创 2014-06-16 00:20:22 · 1148 阅读 · 0 评论 -
Ford-Fulkerson方法求最大流
#include #include #include #include #include #define maxn 100 #define INF 100000000 using namespace std; int cap[maxn+10][maxn+10];//容量 int flow[maxn+10][maxn+10];//流量 int r[maxn+10];//最小残存容量 int pa[m原创 2014-07-07 21:37:11 · 785 阅读 · 0 评论 -
dinic方法求最大流
#include #include #include #include #include using namespace std; #define maxn 1000 #define maxe 1000000 #define INF 1000000000 struct edge{ int v,r; int next; }E[maxe*4]; int head[maxn+10],c; void原创 2014-07-09 12:39:53 · 431 阅读 · 0 评论