O(1) 的小乐
豆瓣账号:http://www.douban.com/people/sosisarah/
摘要: 1: /** 2: ZOJ 3229 有上下界的最大流 3: 两次求最大流的过程,非二分 4: 有源汇上下界的最大流问题, 首先连接 sink -> src, [0,INF]. 5: 根据net的正负,来建立 Supersrc 与 supersink 之间的边,做一次 maxflow. 6: 若所有的Supersrc ... 阅读全文
posted @ 2014-05-08 17:55 O(1)的小乐 阅读(605) 评论(0) 推荐(0) 编辑
摘要: 1: /** 2: POJ 3801 有上下界的最小流 3: 4: 1、对supersrc到supersink 求一次最大流,记为f1。(在有源汇的情况下,先使整个网络趋向必须边尽量满足的情况) 5: 2、添加一条边sink -> src,流量上限为INF,这条边记为p。(构造无源汇网络) 6: 3、对supersrc到supersink再次求最大... 阅读全文
posted @ 2014-05-08 17:54 O(1)的小乐 阅读(523) 评论(0) 推荐(0) 编辑
摘要: 对于无源汇问题,方法有两种. 1 从边的角度来处理. 新建超级源汇, 对于每一条有下界的边,x->y, 建立有向边 超级源->y ,容量为x->y下界,建立有向边 x-> 超级汇,容量为x->y下界.建立有向边 x->y,容量为x->y的上界减下界. 2 从点的角度来处理. 新建超级源汇,对于每个点流进的下界和为 in, 流出此点的下界和为out.如果in > out. 建立有向边 超级源->i,... 阅读全文
posted @ 2014-05-08 11:17 O(1)的小乐 阅读(674) 评论(0) 推荐(0) 编辑
摘要: 从1走到N然后从N走回来的最短路程是多少? 转换为费用流来建模. 1: /** 2: 因为e ==0 所以 pe[v] pe[v]^1 是两条相对应的边 3: E[pe[v]].c -= aug; E[pe[v]^1].c += aug; 4: 5: */ 6: #include 7: #include 8: #in... 阅读全文
posted @ 2014-05-08 09:26 O(1)的小乐 阅读(280) 评论(0) 推荐(0) 编辑