摘要: 先给出最大流BFS模板,其实就是白书上面的void BFS(){ flow=0; while(!q.empty()) q.pop(); while(1) { memset(a,0,sizeof(a)); a[s]=INF; q.push(s); while(!q.empty()) { int u; u=q.front(); q.pop(); for(int v=1; v<=n; v++) //枚举所有点v; <u,v> ... 阅读全文
posted @ 2012-11-22 23:35 Titanium 阅读(867) 评论(0) 推荐(0) 编辑
摘要: 最大流裸题,有向图,然后又重边,容量要累加,这里是用BFS来做的#include <cstdio>#include <cstring>#include <queue>using namespace std;#define INF 0x3f3f3f3f#define N 20queue<int>q;int f[N][N],c[N][N],a[N],p[N],flow;int n,m;//源点和汇点分别规定为1,nvoid BFS(){ flow=0; while(1) { memset(a,0,sizeof(a)); a[1]=INF; ... 阅读全文
posted @ 2012-11-22 23:10 Titanium 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 最大流裸题,不过要注意建图,有重边,容量要累加,然后是无向图,就当做是有两条方向相反的有向边处理即可,详细看读取数据建图部分然后就是按照白书上面的最大流模板(BFS)来做#include <cstdio>#include <cstring>#include <queue>using namespace std;#define INF 0x3f3f3f3f#define N 110int f[N][N],c[N][N],a[N],p[N];//a数组是一个递推数组,p相当于记录路径int n,m,s,t,flow;queue <int> q;voi 阅读全文
posted @ 2012-11-22 22:25 Titanium 阅读(808) 评论(0) 推荐(0) 编辑