博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Uva 11248 网络扩容
阅读量:6268 次
发布时间:2019-06-22

本文共 1507 字,大约阅读时间需要 5 分钟。

题目链接:

 

题意:给定一个有向网络,每条边均有一个容量。问是否存在一个从点1到点N,流量为C的流。如果不存在,是否可以恰好修改一条弧的容量,使得存在这样的流?

 

分析:

首先找到最大流,如果发现大于等于C,就得到解,如果小于C的话,枚举最小割。这时,之前的最大流保存下来,清空流量,改变最小割的容量,再求最大流。

 

include 
using namespace std;const int maxn = 100 + 10;const int INF = 0x3f3f3f3f;struct Edge { int from,to,cap,flow;};bool operator < (const Edge& a,const Edge& b) { return a.from < b.from || (a.from==b.from&&a.to
edges; vector
G[maxn]; bool vis[maxn]; int d[maxn]; int cur[maxn]; void init(int n) { for(int i=0;i
Q; Q.push(s); vis[s] = 1; d[s] = 0; while(!Q.empty()) { int x = Q.front(); Q.pop(); for(int i=0;i
e.flow) { vis[e.to] = 1; d[e.to] = d[x] + 1; Q.push(e.to); } } } return vis[t]; } int DFS(int x,int a) { if(x==t||a==0) return a; int flow =0,f; for(int& i=cur[x];i
0) { e.flow +=f; edges[G[x][i]^1].flow -=f; flow +=f; a-=f; if(a==0) break; } } return flow; } int Maxflow(int s,int t) { this->s = s; this->t = t; int flow = 0; while(BFS()) { memset(cur,0,sizeof(cur)); flow +=DFS(s,INF); } return flow; } vector
Mincut() { vector
ans; for(int i=0;i
0) ans.push_back(i); } return ans; } void Reduce () { for(int i=0;i
=c) printf("possible\n"); else { vector
cut = g.Mincut(); g.Reduce(); vector
ans; for(int i=0;i
=c) ans.push_back(e); e.cap = temp; /// } if(ans.empty()) printf("not possible\n"); else { sort(ans.begin(),ans.end()); printf("possible option:(%d,%d)",ans[0].from+1,ans[0].to + 1); for(int i=1;i

 

转载于:https://www.cnblogs.com/TreeDream/p/6160144.html

你可能感兴趣的文章
关于字符集,编码格式,大小端的简单总结
查看>>
js string 转 int Number()
查看>>
课堂练习:ex 4-20
查看>>
20155328 2016-2017-2 《Java程序设计》 第8周学习总结
查看>>
python操作redis--string
查看>>
echarts图表初始大小问题及echarts随窗口变化自适应
查看>>
Inherits、CodeFile、CodeBehind的区别
查看>>
创建一个SimpleDlg
查看>>
使用XML生成菜单
查看>>
udp,tcp对于socket的写法
查看>>
第二周个人赛
查看>>
推断Windows版本号新方法
查看>>
2017-4-18 ADO.NET
查看>>
RSuite 一个基于 React.js 的 Web 组件库
查看>>
技术博客网址收藏
查看>>
python 金融分析学习
查看>>
授人以渔不如授人以鱼
查看>>
matlab练习程序(图像Haar小波变换)
查看>>
【Java】从域名得到ip
查看>>
Mysql索引会失效的几种情况分析
查看>>