2011年3月16日

poj 2125

摘要: 最小点权覆盖。注意入边,出边不要搞反了。代码:#include<iostream>#include<fstream>#include<queue>using namespace std;int n;int d[210];int flow;int v[210];typedef struct e{ int data; int f,c; e *next,*opt;}e;e edge[210];int build(){ int i,j,k; queue<int> q; q.push(1); memset(d,0,sizeof(d)); d[1]=1; w 阅读全文

posted @ 2011-03-16 19:59 宇宙吾心 阅读(486) 评论(0) 推荐(0)

poj 2987

摘要: 二分图最小点权覆盖。代码:#include<iostream>#include<fstream>#include<queue>#include<cmath>using namespace std;int n;int d[110];double flow;int v[110];typedef struct e{ int data; double f,c; e *next,*opt;}e;e edge[110];int build(){ int i,j,k; queue<int> q; q.push(1); memset(d,0,size 阅读全文

posted @ 2011-03-16 18:24 宇宙吾心 阅读(432) 评论(0) 推荐(0)

poj 3155

摘要: 最小割。二分方法中: while(begin<=end) { mid=(begin+end)>>1; build(mid); if(m*xx-solve()>0) begin=mid+1; else end=mid-1; }最后 end<ans*<=begin.最大权值为begin,但要求定点集,要用end。代码:#include<iostream>#include<fstream>#include<queue>#define xx 1000000using namespace std;int n;int c[1110][ 阅读全文

posted @ 2011-03-16 16:52 宇宙吾心 阅读(419) 评论(0) 推荐(0)

导航