网络流
_zidaoziyan
这个作者很懒,什么都没留下…
展开
-
3416 Marriage Match IV
//题目意思:给出一个有向图,给出起点和终点,一个人从起点到终点去约会, //每次走的路程要求是最小。没条路不能重复走,问可以走多少次。//思路:如果没限制直接就可以跑最大流了, //加了限制后就是说只有最短路径的边才能走,先求出起点到所有点的最短距离, //然后找出每条边的起点的距离加上边的权值=终点的距离,那么这条边就可以走 #include <map> #include <set> #incl原创 2015-07-25 14:56:04 · 528 阅读 · 0 评论 -
spoj 1693 Coconuts( 违背自己意愿的票数与持不同意见的朋友对数的总和最小)
参考:http://wenku.baidu.com/link?url=E5J_eujJ5h0P08UFEWi6PCp9ZX97MM-1NMxUfbdAEx48yLQWqZk4LlMwrG8Wt6Ks1V5hzoWDurZcvRSjCZ1OQ9ZmMmvEkbqP8Fuz489h3PS 传送门:spoj 1693 Coconuts 题意: N 个城堡守卫正在就非洲的燕子能否搬运椰子而进行投原创 2016-08-19 16:58:29 · 380 阅读 · 0 评论 -
uva 1277 Cops and Thieves(完成阻击所需要的最少人数)
传送门:uva 1277 Cops and Thieves 题意:一个犯罪团伙打算去偷一家美术馆。 警察决定派 K 个人堵住所有从匪窝通向美术 馆的道路,不过他们只能驻守在沿途顶点处而不能在匪窝或美术馆,且每个点都 有一个需要警察驻守的最低人数 Ri。 问警察能否完成任务。 (2 < N <= 100, 1 < M <=10000) 思路:我们所要做的就是割掉一些边使得不能原创 2016-08-19 14:03:49 · 310 阅读 · 0 评论 -
最小割总结
重新阅读了一下《最小割模型在信息学竞赛中的应用》,写一下自己的理解割[T,S]和割[S,T]是不同的在一个流网络G=(V,E)G=(V,E)中,设其中任意一个流为ff,任意一个割为c[S,T]c[S,T],必有|f|<=c[S,T]|f|<=c[S,T]找寻最小割SS中的点集:先求最大流,再在最大流ff后的残留网络GfG_f中,从SS进行DFS,遍历到的点便是SS中的集合 需要注意的一点是最小割[原创 2016-08-13 10:55:13 · 500 阅读 · 0 评论 -
HDU3667.Transportation
转自http://www.acmerblog.com/hdu-3667-transportation-6628.html 该题是最小费用流的变形,只是这里将容量改为了x*x,显然可知直接用模板跑出来的必然是错的,所以这里我就想到了这些走过的边必须得整体考虑,这里我就先用费用流求出了最大流,让后再在结果中寻找容量改变了的边,然后计算出中的花费,显然这也是错误的,因为第三个样例就果断悲剧了,因为该人走转载 2015-07-22 14:28:58 · 548 阅读 · 0 评论 -
hdoj 3605 Escape
数据更新了之后网络流就会超时 首先第一步优化,状态压缩,因为有100000个人,而星球只有10个,所以每个人想去的星球的状态最多1<<10,大约1000过点,所以先统计状态,然后在压缩之后建图是个很大的优化,这个题目也是对网络流数据卡的很严,要用dinci或者sap,而且要假如优化。#include <map> #include <set> #include <stack> #include <q原创 2015-07-25 16:22:40 · 388 阅读 · 0 评论 -
HDU1565 方格取数(1) 网络流
//将问题转化为最小割,首先采用奇偶建立二分图, //最大点独立集=总权-最小点权覆盖集 //二分图最小点权覆盖:从x或y中选取一些点,使这些点覆盖所有的边, //并且选出来的点权值和最小 #include <map> #include <set> #include <stack> #include <queue> #include <cmath> #include <ctime> #include原创 2015-07-25 14:32:48 · 685 阅读 · 0 评论 -
hdu 3491 Thieves
拆点+建边//最好设源点为0,终点为2*n+1,否则H点会可能有流出,S点可能 //建边时要考虑四个点,两两之间的建边 #include <map> #include <set> #include <stack> #include <queue> #include <cmath> #include <ctime> #include <vector> #include <cstdio> #incl原创 2015-07-22 16:23:00 · 334 阅读 · 0 评论 -
HDU 1533.Going Home(费用流模板)
#include <map> #include <set> #include <stack> #include <queue> #include <cmath> #include <ctime> #include <vector> #include <cstdio> #include <cctype> #include <cstring> #include <cstdlib> #include <i原创 2015-07-25 18:34:10 · 321 阅读 · 0 评论 -
HDU2883.kebab
//因为时间的开始结束范围跨度较大,所以离散化 #include <map> #include <set> #include <stack> #include <queue> #include <cmath> #include <ctime> #include <vector> #include <cstdio> #include <cctype> #include <cstring> #inclu原创 2015-07-25 14:43:57 · 395 阅读 · 0 评论 -
Hdu 4807 Lunch Time(最小费用最大流的巧妙运用,k个人从0到n-1所需的最少时间)
传送门:Hdu 4807 Lunch Time 题意:有n个地点,标号为0~n-1,现在有k个人,要从0到n-1,有m条有向边,每条边每一时刻都限制有ci 个人通过,每个人的速度是每一时刻一条边,问最后一个到达终点的人的所需要的时刻 思路: 最小费用最大流 每一次我们进行一次spfa时,都能求出当前时刻到达终点不需等待所需要花费的最少时间, 比如上一次求出的不需等待的时间原创 2016-09-02 12:07:48 · 1004 阅读 · 0 评论