网络流
mhlwsk
这个作者很懒,什么都没留下…
展开
-
[ZOJ1654]Place the Robots 做题笔记
行染色条->列染色条 代表一个能放的点。可以用二分图匹配做。 网络流做法#include <cstdio>#include <algorithm>#include <cstring>#include <queue>using namespace std;const int N=2509,M=7509*2,inf=0x7fffffff;int head[N],d[N],edge[M],v原创 2016-03-02 20:24:25 · 467 阅读 · 0 评论 -
[BZOJ1143][CTSC2008]祭祀river 做题笔记
题目来源:http://www.lydsy.com/JudgeOnline/problem.php?id=1143 一种理解(引用自http://www.cnblogs.com/BLADEVIL/p/3713043.html): 我们可以将一个点拆成两个点x,y,那么如果存在一条i->j的路径,我们就连接xi,yj,那么答案就是n-最大匹配数。 因为i->j所以对于i与j只能原创 2016-03-20 23:08:14 · 490 阅读 · 0 评论 -
[POJ2125]Destroying The Graph 做题笔记
题目链接:http://poj.org/problem?id=2125拆点形成近似二分图,最大流等于最小割。 关键是判断割边。这里的割边代表“割点”,即拆掉点的入度或点的出度,可以用一遍dfs实现。#include <cstdio>#include <cstring>#include <algorithm>#include <queue>using namespace std;const原创 2016-03-04 08:54:00 · 459 阅读 · 0 评论 -
[POJ1325]机器调度 做题笔记
Description As we all know, machine scheduling is a very classical problem in computer science and has been studied for a very long history. Scheduling problems differ widely in the nature o原创 2016-03-02 14:13:51 · 488 阅读 · 0 评论 -
[POJ1001]狼抓兔子 做题笔记
·· / ·– ·· ·-·· ·-·· / ·–· · ·-· ··· ·· ··· - / ··- -· - ·· ·-·· / ·· / ·– ·· -·题目来源:http://www.lydsy.com/JudgeOnline/problem.php?id=1001 这题是最大流,也可以用spfa过,虽然我并不会。。 注意一下这题的边是无向边,边要正反存两遍,算上网络流原有的反向边相当于原创 2016-04-06 17:17:28 · 776 阅读 · 0 评论 -
[BZOJ3130][Sdoi2013]费用流 做题笔记
·· / ·– ·· ·-·· ·-·· / ·–· · ·-· ··· ·· ··· - / ··- -· - ·· ·-·· / ·· / ·– ·· -· 题目来源:http://www.lydsy.com/JudgeOnline/problem.php?id=3130 这题比较容易想到是最大流+二分,二分流量上界,答案=最小流量上界*p 但是这题的重点在于,最大流本身是一定的整数,但是原创 2016-04-02 19:51:34 · 428 阅读 · 0 评论 -
[BZOJ1797][Ahoi2009]Mincut 最小割 做题笔记
题目来源:http://www.lydsy.com/JudgeOnline/problem.php?id=1797 这题考察判断网络流的可行割与必须割。 引用一下lydrainbowcat的结论 最小割的必须边 一定在最小割中的边、扩大容量后能增大最大流的边, ① 满流;② 残余网络中S能到入点、出点能到T。 从S开始DFS、T开始反向DFS,标记到达的点,然后枚举满流边即可。原创 2016-03-08 22:44:01 · 1061 阅读 · 0 评论 -
[POJ1637]Sightseeing tour 混合图欧拉回路 做题笔记
题目链接:http://poj.org/problem?id=1637 这题是混合图欧拉回路,可以用网络流来做。 自己还是太弱了,这里引用一下hzwer的思路 混合图欧拉回路 设点x的出度-入度为d[x] 对于无向图先任意定向,若任意x,d[x]非偶数则impossible d[x]/2即为连接每个点的边需要反向的数量 若d[x]/2>0 连S->T原创 2016-03-07 12:20:18 · 547 阅读 · 0 评论 -
[POJ1087]A Plug for UNIX 做题笔记
题目链接:http://poj.org/problem?id=1087 这种主要考基本代码实现能力的题。。。没什么好说的 代码写的比较乱,一开始想写个字符串hash,但题目的字符串范围好奇怪,后来干脆暴力,数据很水也过了。。但hash函数的名字没改。#include <iostream>#include <cstdio>#include <cstring>#include <algorit原创 2016-03-05 17:07:24 · 266 阅读 · 0 评论 -
[POJ3436]ACM Computer Factory 做题笔记
题目链接:http://poj.org/problem?id=3436 拆点网络流典型题,每个机器拆成两个点。 有点值得注意的地方:如果是int a[N][N] 这样的数组,a[i][j]是数组中的数据,而a[i]则还是a[i][0]的指针,与char数组不同的一点,int数组不能随便用&取地址,所以下文标记处不能用&in1[i]。#include <cstdio>#include <cstr原创 2016-03-05 14:48:01 · 314 阅读 · 0 评论 -
[POJ3422]Kaka's Matrix Travels 做题笔记
题目链接:http://poj.org/problem?id=3422费用流。 做这题的收获是inf边的另一个用处,棋盘的每个点拆开后,拆开的两个点之间连两条边,一条容量1费用为点权值的相反数(负权是因为跑spfa最大流时要用到),表示只能走一次并获得相应分数,另一条容量inf费用为0,表示可以走很多很多次但是没法获得分数。新建超级源S,S向[1,1]连一条容量为k权值为零的边,跑一遍费用流即可。原创 2016-03-04 18:19:58 · 283 阅读 · 0 评论 -
[POJ2135]Farm Tour 做题笔记
题目链接:http://poj.org/problem?id=2135 这是一类比较经典的费用流水题。 1、建图,每条边容量为1,费用为题目所述距离。 2、新建超级源S,S到1连一条容量为2费用为0的边。 3、跑一遍费用流。 事实上如果用的是一次找一条增广路的费用流,还有一个小优化,那就是网络流为2时直接输出cost退出即可。#include <iostream>#include <cs原创 2016-03-04 11:36:41 · 426 阅读 · 0 评论 -
[BZOJ1834]网络扩容 做题笔记
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1834 先跑一遍最大流,然后在原残量图的基础上建边。对原有的每条边,新建容量为inf,费用为题目描述的边。新建超级源S,S到1连一条容量为k费用为0的边,在新图上跑一遍费用流。#include <cstdio>#include <cstring>#include <algorithm>原创 2016-03-04 11:30:15 · 691 阅读 · 0 评论 -
[POJ1459]Power Network 做题笔记
题目来源:http://poj.org/problem?id=1459 模板题,然而搞得我整个人都不好了,被m<=n*n迷惑了,邻接表只开了20010大小,结果爆了,卡了我40分钟。。。数组一定一定大小要开大一些。。。#include <cstdio>#include <cstring>#include <algorithm>#include <cctype>#include <queue原创 2016-03-03 19:35:08 · 291 阅读 · 0 评论 -
[POJ1149]PIGS 做题笔记
Description Mirko works on a pig farm that consists of M locked pig-houses and Mirko can’t unlock any pighouse because he doesn’t have the keys. Customers come to the farm one after another.原创 2016-03-03 17:20:08 · 307 阅读 · 0 评论 -
[POJ2112]Optimal Milking 做题笔记
Description FJ has moved his K (1 <= K <= 30) milking machines out into the cow pastures among the C (1 <= C <= 200) cows. A set of paths of various lengths runs among the cows and the milki原创 2016-03-03 16:40:56 · 373 阅读 · 0 评论 -
[POJ1273]草地排水 dinic模板
这题可以作为网络流模板看,这里贴一下自己的dinic模板#include <iostream>#include <algorithm>#include <cstring>#include <queue>#include <cstdio>using namespace std;const int inf=0x3fffffff,N=400,M=500;int d[N],head[N],ve原创 2016-03-02 14:05:50 · 1025 阅读 · 0 评论 -
[BZOJ1066]蜥蜴 做题笔记
题目来源:http://www.lydsy.com/JudgeOnline/problem.php?id=1066 做这题的时候被自己打的模板坑了,查了好久好久都没查出错。。。以后做题也不能过分信任某一段代码而不去查它的错了。 恩,这题的背景总让人想起科学的上网。。 这题的距离是指欧几里得距离,就是sqrt( (x1-x2)^2+(y1-y2)^2 ),我之前竟然没有见过,按照上下左右还有对角原创 2016-03-28 21:33:30 · 463 阅读 · 0 评论