摘要: 哎,被这道题搞死啦,详细解释在代码中//最小割模型。首先建网络流模型,建立源点s和终点t(分别代表这两块不同的芯片),然后把s和每个点之间连一条容量为1,方向从s到点的边(方向 //一定要确定,因为割的容量的定义),然后从每个点到终点连一条容量为1,方向为点到t的边,然后在有联系的 //两点之间建一条容量为1的无向边(即一对容量为1方向相反的有向边)。建图完成。那么,在这个网络流模型中的一个割 //就对应于一种选择方案,而此方案的花费即割的容量。原因如下:先看所有的点都没有联系的情况,那么所有点和s的边 //和t的边这两条边有且仅有一条边在割去的边的集合中,哪条边割去说明点在哪个芯片上,那么割 阅读全文
posted @ 2012-12-09 17:58 LJ_COME!!!!! 阅读(169) 评论(0) 推荐(0)
摘要: 一道基础题,却因为这样那样的粗心,用了这么长时间,和uva10086一模一样#include <iostream> #include <cstring> #include <cstdio> #include <queue> using namespace std; const int maxn=1100; const int maxe=30000; const int inf=200000000; struct Edge { int from,to,flow,cap,cost,next; }; int n,m,tot; int head[maxn 阅读全文
posted @ 2012-12-09 16:20 LJ_COME!!!!! 阅读(138) 评论(0) 推荐(0)