ISPA模板
来源:互联网 发布:淘宝互刷收藏软件 编辑:程序博客网 时间:2024/06/05 00:49
http://blog.csdn.net/u011742541/article/details/16989645
int SAP_Max_Flow( int st,int end ){int cur[maxn],pre[maxn],h[maxn],gap[maxn];int u,neck,tmp,i;memset( h,0,sizeof(h) );memset( gap,0,sizeof(gap) );int cur_flow,flow_ans = 0;for( int i = 0; i <= n; i ++ )cur[i] = head[i];gap[0] = n+1; //顶点个数u = st;while( h[st] < n+1 ) //当起点的距离标号大于顶点个数时算法结束{if( u == end ){cur_flow = inf;for( i = st; i != end; i = edge[cur[i]].v ){if( cur_flow > edge[cur[i]].w ){neck = i;cur_flow = edge[cur[i]].w;}}for( i = st; i != end; i = edge[cur[i]].v ){tmp = cur[i];edge[tmp].w -= cur_flow;edge[tmp^1].w += cur_flow;}flow_ans += cur_flow;u = neck;}for( i = cur[u]; i != -1; i = edge[i].next ){if( edge[i].w && h[u] == h[edge[i].v] + 1 )break;}if( i != -1 ){cur[u] = i;pre[edge[i].v] = u;u = edge[i].v;}else{if( 0 == --gap[h[u]] )break;cur[u] = head[u];for( tmp = n,i = head[u]; i != -1; i = edge[i].next )if( edge[i].w )tmp = tmp < h[edge[i].v]?tmp:h[edge[i].v];h[u] = tmp + 1;gap[h[u]] ++;if( u != st )u = pre[u];}}return flow_ans;}
- ISPA模板
- ISPA 算法
- HDU 4280 Island Transport (ISPA)
- 【codevs1993】草地排水,网络流入门(dinic+ispa)
- 模板
- 模板?
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 动态代理的实现2-编写可生成代理和插入通告的通用方法
- opencv 播放进度读取
- Objective -C语言基础学习日志(五)
- 【C++系列】VC++ Directories editing in Tools>Options has been deprecated解决方法
- 动态代理的实现3-实现aop功能的封装和配置
- ISPA模板
- 关于利用Tcp库来实现文件传输
- WebApplication和WebSite和SLN文件
- jquery ajaxfrom表单提交代码
- 函数指针 一
- 说说循环缓冲区(Ring Buffer)
- 最长回文子串
- Test
- 【Java学习之三】用JNI实现Java和C语言的数据传递