poj 1966
来源:互联网 发布:我的世界掉落优化mod 编辑:程序博客网 时间:2024/04/30 23:13
题目链接http://poj.org/problem?id=1966
题目分析 关于连通度的问题 求至少删掉多少点 使这个图不连通 百度manger定理 建图 最大流。。
#include<stdio.h>#include<string.h>#include<algorithm>#include<cmath>#include<queue>#include<string>#include<iostream>#define N 110#define CC(x,y) memset(x,y,sizeof(x))#define inf 0x7fffff#define lson l,mid,rt<<1#define rson mid+1,r,rt<<1|1using namespace std;struct node{ int y,ne,f;}e[N*N];int dis[N],pre[N],cur[N],h[N],gap[N],s,t,nn,i,j,k,m,n,x,y,z,l;void add(int x,int y,int f){ e[k].y=y;e[k].f=f;e[k].ne=h[x];h[x]=k++; e[k].y=x;e[k].f=0;e[k].ne=h[y];h[y]=k++;}int sap(int s,int t,int nn){ for (i=0;i<=nn;i++) { cur[i]=h[i]; gap[i]=dis[i]=0; } int u,v; int flow=0,aug=inf; gap[s]=nn; u=pre[s]=s; bool flag; while(dis[s]<nn) { flag=0; for(int &j=cur[u]; j!=-1; j=e[j].ne) { int v=e[j].y; if(e[j].f>0&&dis[u]==dis[v]+1) { flag=1; if(e[j].f<aug) aug=e[j].f; pre[v]=u; u=v;//printf("%d\n",aug); if(u==t) { flow+=aug; while(u!=s) { u=pre[u]; e[cur[u]].f-=aug; e[cur[u]^1].f+=aug; } aug=inf; } break; } } if(flag) continue; int mindis=nn; for(int j=h[u]; j!=-1; j=e[j].ne) { int v=e[j].y; if(e[j].f>0&&dis[v]<mindis) { mindis=dis[v]; cur[u]=j; } } if((--gap[dis[u]])==0) break; gap[dis[u]=mindis+1]++; u=pre[u]; } //printf("%d\n",flow); return flow;}void init(){ for (int i=0;i<k;i+=2) e[i].f+=e[i^1].f,e[i^1].f=0;}int main(){ #ifndef ONLINE_JUDGE freopen("in.txt","r",stdin); #endif // ONLINE_JUDGE while (scanf("%d%d",&n,&m)!=EOF) { CC(h,-1); k=0; for (i=0;i<n;i++) add(i,i+n,1); for (i=0;i<m;i++) { scanf(" (%d,%d)",&x,&y); add(x+n,y,inf); add(y+n,x,inf); } int ans=inf; for (int i=0;i<n;i++) for (int j=0;j<n;j++) if (i!=j) {ans=min(ans,sap(i+n,j,2*n)),init();} if (ans>=inf)printf("%d\n",n);else printf("%d\n",ans); } return 0;}
- poj 1966
- poj 1966 (最小割点集)
- POJ
- poj
- POJ
- POJ
- poj
- poj
- POJ
- POJ
- poj
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- poj 1088 滑雪
- 项目总结--谈谈封装(条件查询)
- PL/SQL ORA 12170 连接超时
- qt之用户登入窗口
- floyd+动态规划 hdu-4571-Travel in time
- poj 1966
- 8月14日
- 如何获取元素位置
- android中的Display 与 DisplayMetrics
- SVN(subversion - 版本控制系统)的简单使用和本地服务的建立
- Picture Control点击事件
- poj 1579 function run fun
- HDU 1575 Tr A(快速幂 + 二分)
- OpenCV 编码样式指南