博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2017 ACM-ICPC 亚洲区(青岛赛区)网络赛 1009
阅读量:7024 次
发布时间:2019-06-28

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

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long ll;const double eps=1e-6;const int INF=0x3f3f3f3f;const int maxn=9876;const double PI=acos(-1.0);int head[maxn],path[maxn],vis[maxn];int tt;int ans,flag,cnt, n,m,s,t;;struct Edge{ int from,to,cap,next;}e[maxn];void init(){ cnt=0; memset(head,-1,sizeof(head)); memset(vis,0,sizeof(vis)); memset(path,0,sizeof(path));}void add(int u,int v,int w){ e[cnt].from=u; e[cnt].to=v; e[cnt].cap=w; e[cnt].next=head[u]; head[u]=cnt++;}int bfs(){ queue
q; q.push(s); vis[s]=1; path[s]=-1; while(!q.empty()) { int u=q.front(); q.pop(); for(int i=head[u];i!=-1;i=e[i].next) { int v=e[i].to; if(e[i].cap>0&&!vis[v]) { path[v]=i; vis[v]=1; if(v == t) return 1; q.push(v); } } } return 0;}int EdmondsKarp(){ int Flow=0; int flow,i; while(bfs()) { memset(vis,0,sizeof(vis)); i=path[t]; flow=INF; while(i!=-1) { flow=min(flow,e[i].cap); i=path[e[i].from]; } i=path[t]; while(i!=-1) { e[i].cap-=flow; e[i^1].cap+=flow; i=path[e[i].from]; } Flow+=flow; } return Flow;}int main(){ scanf("%d",&tt); while(tt--) { scanf("%d%d",&n,&m); init(); scanf("%d%d",&s,&t); for(int i=0;i
最小割

 

转载于:https://www.cnblogs.com/Roni-i/p/7536346.html

你可能感兴趣的文章
logback自定义格式转换器
查看>>
双11黑科技,阿里百万级服务器自动化运维系统StarAgent揭秘
查看>>
Linux shell中的I/O重定向相关(转)
查看>>
非对称加密算法RSA使用注意事项
查看>>
SQL Server 2008 R2 性能计数器详细列表(五)
查看>>
[20161003]触发器与redo.txt
查看>>
HDOJ 2080 夹角有多大II
查看>>
经典算法题每日演练——第五题 字符串相似度
查看>>
[20161216]scp使用小技巧.txt
查看>>
android 向SD卡写入数据
查看>>
apache防盗链设置
查看>>
linux 系统获取网络ip, mask, gateway, dns信息小程序
查看>>
nginx开发(四)调用ffmpeg,搭建rtmp直播流。
查看>>
Kafka入门(一)
查看>>
Java多线程之Lock的使用
查看>>
Redis
查看>>
python函数
查看>>
死锁的产生与检测
查看>>
gcc中动态库和静态库的链接顺序
查看>>
SVN:服务器端设置提交时必须填写注释
查看>>