雕刻时光

just do it……nothing impossible
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年3月21日

摘要: 先 folyd 求出任意两点可以到达的距离,由于我们不知道最短距离为多少,所以用二分查找来逼近答案接着构建容量网络:增加 源点 (n+1),设置源点到牛的容量为1 (一开始以为是INF,显然是错的)增加 汇点 (0),设置汇点到机器的容量为 M在通过二分出来的那个答案,统计牛到机器的容量最后网络流最大流,继续二分,直到最佳答案View Code #include<stdio.h>#include<string.h>const int inf=100000000;const int MAXN=309;int map[MAXN][MAXN];int dis[MAXN][MA 阅读全文

posted @ 2012-03-21 22:36 huhuuu 阅读(334) 评论(0) 推荐(0) 编辑

摘要: http://poj.org/problem?id=1273人生第一题网络流O(∩_∩)O哈哈~注意数据有重边,要把值加上去View Code #include<stdio.h>const int inf=1000000000;const int MAXN=209;int map[MAXN][MAXN];int flow[MAXN][MAXN];int max_flow(int n,int mat[][MAXN],int source,int sink){ int v[MAXN],c[MAXN],p[MAXN],ret=0,i,j; for(;;){ for(i=0;... 阅读全文

posted @ 2012-03-21 19:47 huhuuu 阅读(370) 评论(0) 推荐(0) 编辑