网络流
--子非鱼--
一个人幸运的前提是有能力和有条件改变自己
展开
-
hdu 1532 Drainage Ditches
点击打开题目链接 裸的最大流问题,用的是SAP算法。 #include #include #include #define clr(a,b) memset(a,b,sizeof(a)) #define M 0xfffff using namespace std; const int I=300; int map[I][I],pre[I],dis[I],gap[I]; int SAP(int原创 2013-04-30 08:55:36 · 714 阅读 · 0 评论 -
nyoj 489 哭泣天使
点击打开题目链接 该题主要在于建边,因为一行和一列单独确定一个点,所以把所有的行和列当成点建边,容量为1,再建一个源点s,与所有的行相连,容量为每一行哭泣天使的数量,建立一个汇点t,与所有的列相连,容量为相应列哭泣天使的容量,然后求最大流即可。 #include #include #include #define clr(a,b) memset(a,b,sizeof(a)) #defi原创 2013-04-30 09:59:43 · 883 阅读 · 0 评论 -
算法艺术——网络最大流 (转自:Rachel-Zhang)
原文链接:http://blog.csdn.net/abcjennifer/article/details/5556455/ USACO 4.2.1 Ditch 网络最大流问题算法小结 通过 USACO 4.2.1 Ditch 学习一下最大流算法 。可惜它给的测试数据几乎没有任何杀伤力,后面测试时我们采用 DD_engi 写的程序生成的加强版数据。 总体上来说转载 2014-03-23 15:28:49 · 865 阅读 · 0 评论 -
最大流ISAP算法模板
SAP算法框架: 1、定义距离标号为各点到汇点距离的下界(即最短距离)。 2、在初始距离标号的基础上,不断沿着可行弧找增广路。 3、遍历当前节点完以后,为了保证下次再来的时候有路可走,重新标号当前距离。 4、检查重新标记的顶点,若其为原点,且被标记的高度等于节点个数时,图中已经不存在增广路,算法可结束。否则 继续从原点开始遍历。 由于我们不停的遍历,最原创 2013-04-30 09:10:58 · 849 阅读 · 0 评论