
网络流
Duan2baka
人
展开
-
BZOJ[1877]晨跑 费用流
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1877 题目大意:给一有向图G,多次从1到n,求代码如下:#include#include#include#define N 505#define INF 2147483647using namespace std;const int S=501;const i原创 2017-12-20 21:04:52 · 325 阅读 · 0 评论 -
Codevs[1227]方格取数2 费用流
题目链接:http://codevs.cn/problem/1227/ 题目大意:传k遍纸条每个点拆成入和出,入向出连一条容量为1,费用为该点权值的边(表示选这个点,只能走一次) 再连一条容量为INF,费用0的边(选过就不再有贡献) 每个点的出向右和下的入连一条容量为INF费用为0的边 超级源连点(1,1)的入一条容量为k,费用0的边(传k遍),点(n,m)的出连向超级汇,容量INF,费原创 2017-12-20 20:59:10 · 354 阅读 · 0 评论 -
BZOJ[1735][Usaco2005 jan]Muddy Fields 泥泞的牧场 网络流
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1735和BZOJ[1693]有些类似,不同的是不能穿过障碍 因为木板是无限长的且可以被覆盖,所以如果在一个地方放木板,那么一定要尽可能往长了放(反正也可以被覆盖) 找出覆盖每个点最长的横木板和竖木板,连一条横竖的边,转化为最小点覆盖问题,跑最大流求出答案代码如下:#include<algor原创 2017-12-19 17:17:59 · 443 阅读 · 0 评论 -
BZOJ[1693][Usaco2007 Demo]Asteroids 网络流
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1693对于点P(i,j)P(i,j),从i行向j列连一条流量为1的边,转化为最小点覆盖问题,跑二分图/最大流即可代码如下:#include<algorithm>#include<cstring>#include<ctype.h>#include<cstdio>#include<queue原创 2017-12-19 13:47:13 · 559 阅读 · 2 评论 -
BZOJ[5070]危险的迷宫 费用流
传送门ber~同Codevs[1227]方格取数2每个点拆成入和出,入向出连容量为1费用为代价的边 相邻(可以互相走到)的点出向入连容量为1费用为0的边 源向起点的入连容量为1费用为0的边 出口得出向汇连容量为1费用为0的边跑最小费用最大流判断是否有解看是否满流就可以了代码如下:#include<algorithm>#include<cstring...原创 2018-02-10 12:08:46 · 286 阅读 · 0 评论 -
BZOJ[3638] Cf172 k-Maximum Subsequence Sum 线段树模拟费用流
传送门ber~因为k很小,所以很容易想到网络流…. 然后想了想不可做我就弃掉了….. 其实拿线段树模拟一下网络流的过程就可以了 在区间中贪心选出最大连续子段和,再将他们的值变成相反数,重复k次就可以了 维护的东西太多了,写起来好恶心…..代码如下:#include&amp;amp;lt;algorithm&amp;amp;gt;#include&amp;amp;lt;ctype.h&amp;amp;gt;#include原创 2018-07-07 13:23:48 · 322 阅读 · 0 评论