码农场 » POJ 2914 Minimum Cut 题解 《挑战程序设计竞赛》
来源:互联网 发布:云计算相关论文 编辑:程序博客网 时间:2024/05/29 13:19
#include <iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;const int INF = 1000000000;int n,m,g[505][505],v[505],w[505];bool visited[505];int mincut(){ int ans=INF; for(int i=0;i<n;i++) v[i]=i; while(n>1) { int pre=0; memset(visited,0,sizeof(visited)); memset(w,0,sizeof(w)); for(int i=1;i<n;i++) { int k=-1; for(int j=1;j<n;j++) { if(!visited[v[j]]) { w[v[j]]+=g[v[pre]][v[j]]; if(k==-1||w[v[j]]>w[v[k]]) k=j; } } visited[v[k]]=true; if(i==n-1)//合并两点 { int &s=v[pre],&t=v[k]; ans=min(ans,w[t]); for(int j=0;j<n;j++) { g[s][v[j]]+=g[t][v[j]]; g[v[j]][s]+=g[t][v[j]]; } v[k]=v[--n]; } pre=k; } } return ans;}int main(){ while(cin>>n>>m) { int s,t,cost; memset(g,0,sizeof(g)); for(int i=0;i<m;i++) { scanf("%d%d%d",&s,&t,&cost); g[s][t]+=cost; g[t][s]+=cost; } printf("%d\n",mincut()); } return 0;}
本题是求最小割的问题,使用了stoer_wagner最小割算法
有点类似prim
①:如果s∈M,t∈N则Min-C(s,t)= Cut(这就是最终的最小割了)
②:如果s,t∈M(或者s,t∈N)则Min-C(s,t)<= Cut(那么合并s和t后并不影响最小割,所以就把st合并了得到中间结果图G',继续在图G'上求最小割直到命中条件①)
本题的关键在于合并思想 0 0
- 码农场 » POJ 2914 Minimum Cut 题解 《挑战程序设计竞赛》
- 码农场 » POJ 2566 Bound Found 题解 《挑战程序设计竞赛》
- 码农场 » POJ 3421 X-factor Chains 题解 《挑战程序设计竞赛》
- 求余小技巧 码农场 » POJ 3641 Pseudoprime numbers 题解 《挑战程序设计竞赛》
- POJ 1990 MooFest 题解 《挑战程序设计竞赛》
- POJ 2079 Triangle 题解 《挑战程序设计竞赛》
- 挑战程序设计竞赛---POJ.2686
- 挑战程序设计竞赛---POJ.3233
- POJ 2914 Minimum Cut 最小割算法题解
- POJ 2914 Minimum Cut
- Poj 2914 Minimum Cut
- [挑战程序设计竞赛] POJ 3253 - Fence Repair
- [挑战程序设计竞赛] POJ 3009 - Curling 2.0
- [挑战程序设计竞赛] POJ 3699 - Meteor Shower
- [挑战程序设计竞赛] POJ 2718 - Smallest Difference
- [挑战程序设计竞赛] POJ 3050 - Hopscotch
- [挑战程序设计竞赛] POJ 2376 - Cleaning Shifts
- [挑战程序设计竞赛] POJ 1328 - Radar Installation
- 大数据
- leetcode Permutations
- html5tricks.com
- 面向对象第十九课,内部类详解
- DebugView原理及应用
- 码农场 » POJ 2914 Minimum Cut 题解 《挑战程序设计竞赛》
- C++ 顺序容器 STL list类
- UVa 1591 - Data Mining(暴力)
- 数据库_Java与数据库数据类型对应表
- WSO2 ——(9)ESB功能:数据转换
- MVC理解
- 通用线程: 学习 Linux LVM -“逻辑卷管理”为存储器管理带来的魔力 (1)
- [总结]视音频编解码技术零基础学习方法
- opencv使用CvCapture时无法解析视频解决办法