
网络流
文章平均质量分 72
16bit戦争
这个作者很懒,什么都没留下…
展开
-
BZOJ 2597 WC2007 剪刀石头布 费用流
题目大意:给出一张竞赛图中的其中几条单向边,剩下的边随意定向。问最多可以形成多少三元环。思路:对于任意三个点来说,他们组成了三元环,当且仅当这些点的入度=处度 = 1。如果没有组成三元环,只需要改变这其中任意一条边的方向,使得一个点的入度变成2,一个点的出度变成2。我们只需要算出有多少三个点中有一个点的入度为2的就可以了,并最小化这个东西。通过公式:ans=C(n,3)-ΣC(de原创 2015-01-07 18:26:40 · 896 阅读 · 0 评论 -
BZOJ 1976 BeiJing2010组队 能量魔方 Cube 最小割
题目大意给出一个N×N×NN \times N \times N的矩阵,矩阵上的每一个方块可以涂上两种颜色,相邻的两个方块如果涂上了不同的颜色,就会产生一点能量。现在已知了一些方块的颜色,问最多可以产生多少点能量。思路假设所有相邻的方块之间全部都产生能量,且不考虑已经上好色的方块,之后减去不合法的就行了。 一般来说这种相邻的方块之间会产生一些什么的一般都是把所有点染色,一种颜色的与S相连,另一种原创 2015-04-07 15:27:12 · 1195 阅读 · 0 评论 -
BZOJ 1570 JSOI 2008 Blue Mary的旅行 网络流
题目大意给出一个有向图,每天每人只能做一次飞机。现在给出起点,终点,和需要走的人数,还有每条航线的限制人数,问最少多少天最慢的人到达终点。思路很明显是网络流的模型,至于如何去验证,其实连二分都不用,枚举最少天数,然后每次加一层边进行验证就行了。CODE#define _CRT_SECURE_NO_WARNINGS#include <queue>#include <cstdio>#include原创 2015-03-07 07:57:42 · 1100 阅读 · 0 评论 -
BZOJ 3894 文理分科 最小割
题目大意:给出一个表格,每个人要选择文科或者理科,每个人选择文科有一个满意度,选择理科有一个满意度,以一个人为中心的五个人全选择一科也有一个满意度。问最大的满意度是多少。思路:以后看到文理分科之类的8成应该就是最小割了。先把答案全部累加起来,然后减去建图之后的最大流就是答案。S->每个人 f:这个人选择文科的满意度每个人->T f:这个人选择理科的满意度对于每一个人多建原创 2015-02-27 15:49:01 · 1150 阅读 · 0 评论 -
BZOJ 3275 Number && 3158 千钧一发 最小割
题目大意:给出一些数字,要求选出一些数字并保证所有数字和最大,要求这其中的数字任意两个至少满足一个条件,则不能同时被选:1.这两个数的平方和是完全平方数。2.gcd(a,b) = 1。思路:我们可以将奇数和偶数分开来讨论,奇数不满足1,偶数不满足2,所以奇数和奇数,偶数和偶数不会互相影响。之后O(n^2)的讨论其他数字对,有影响就连边,流量正无穷,最后跑最小割最最大获利。C原创 2015-01-24 16:37:27 · 1371 阅读 · 0 评论 -
BZOJ 3876 AHOI 2014 支线剧情 有下界有源汇的费用流
题目大意:主人公在玩游戏,他的存档系统坏了,只能从头开始游戏,不能从中途开始,问最少多长时间可以走过所有的流程。思路:每一条边都要至少走一次,这是流量的下界,源点是游戏的开始,汇点是所有结局。裸的有下界有源汇的费用流。我也不知道为什么要那样建图。。CODE:#include #include #include #include #include #defi原创 2015-01-23 08:34:02 · 1742 阅读 · 0 评论 -
BZOJ 1930 SHOI 2003 pacman 吃豆豆 费用流
题目大意:给出一些平面上的点,你有两个吃豆人,从一个点出发,这个吃豆人可以吃到当前点右上方的点。问这两个吃豆人最多可以吃到多少豆子。思路:我已經吧不相交的条件去掉了。。不加优化的费用流模型很明显超级源->源 flow2 cost0汇->超级汇 flow2 cost0下面是拆点i i 对于从点i能够到达点j的情况i j 然后跑朴素费用流,很明显T掉了。原创 2015-01-05 17:27:08 · 1234 阅读 · 0 评论 -
BZOJ 2127 happiness 最小割
题目大意:一个班级中,两个相邻的人是朋友,一对朋友如果同时选择文科或者理科会有加成。问最多能够得到的权值是多少。思路:先假设得到所有的权值,然后运用最小割的意义求出最大的获利。具体方法见 http://hzwer.com/2422.htmlCODE:#define _CRT_SECURE_NO_WARNINGS#include #include #inclu原创 2015-01-23 16:34:36 · 857 阅读 · 0 评论 -
BZOJ 3442 学习小组 费用流
题目大意:给出学生的数目和学习小组的数目,学生参加小组需要交纳费用,每个小组会支出C[i]*cnt[i]^2。每个学生可以参加k个小组,问最多的学生参加时,最小支出费用。思路:如果不算后面那个什么鬼的条件的话,见图十分显然。S->每个学生 f:k,c:0每个学生->每个学习小组 f:1,c:-F[i]每个学习小组->T f:1,c:1 * C[i],3 * C[i],5 *原创 2015-01-22 14:29:12 · 965 阅读 · 0 评论 -
BZOJ 1221 HNOI 2001 软件开发/网络流24题 餐巾计划问题 最小费用最大流
题目大意:有一个软件公司,每天需要给一些员工准备消毒毛巾,这些毛巾可以循环利用,但是需要消毒。可以将毛巾送去消毒,有两种方式,A天fA花费,B天fB花费。或者还可以直接买新毛巾,问为了满足员工的需求,至少需要花多少钱。思路:经典的费用流问题。将每一天拆点,S向每一天CODE:#include #include #include #include #inc原创 2014-12-29 20:53:15 · 1016 阅读 · 0 评论 -
BZOJ 3171 TJOI 2013 循环格 费用流
题目大意:给出一个表格,每个表格指向周围四个格子中的一个,问你可以改变一些格子上的指向,问让所有格子都在圈中最小需要改变多少。思路:所有的格子都在圈中,由于每个格子只能有一个出边,所以就要保证所有格子都有一个入边。建立费用流的模型,所有点向汇点连流量1费用0的边,表示要接受一个入边。S向所有点连一条流量1费用0的边,表示一条出边。一个格子向周围四个格子连边,流量1,如果方向与当前方向相原创 2015-01-16 08:33:28 · 937 阅读 · 0 评论 -
BZOJ 3144 HNOI 2013 切糕 最小割
题目大意:给出一个三维的点阵,没个点都有可能被切割,代价就是这个点的权值。相邻的切割点的高度差不能超过D,问最小的花费使得上下分开。思路:很裸的最小割模型,很神的建图。S->第一层的点,f:INF所有点->它下面的点,f:INF一个点的入->一个点的出,f:val[i](i,j,k) - > (i - d,j,k),f:INF最下面一层的点->T:f:INF然后原创 2015-01-09 18:16:07 · 748 阅读 · 0 评论 -
POJ 2175 Evacuation Plan 费用流消圈
题目大意:给出一个费用流的模型和已经流过的一些边,问是否存在比这个解更优的解。思路:直接用原图做一次费用流求最优解会T掉。先介绍费用流消圈定理:如果当前费用流的残量网络中存在负圈,那么当前流不是最优的解。其实很好理解,结合原图和流过流量之后的反边,若出现了负圈,那么就可以沿着这个负圈增广,而且费用更小。不过为了解决这个题我们并不需要建立完整的网络流,只需要建立残量网络之后SPF原创 2015-01-28 18:54:28 · 969 阅读 · 0 评论 -
BZOJ 1443 JSOI 2009 游戏Game 二分图+博弈
题目大意:给出一个带有坏点的网格图,每次移动棋子到相邻的格子中,要求格子不能重复,问先手是否有必胜策略,如果有,输出所有的棋子可以摆放的初值位置。思路:很经典的二分图博弈模型,将图黑白染色,就变成了二分图。求最大匹配之后,如果是在二分匹配上的边,每次先手从左侧走到右侧,后手就一定能从右边走回来,这样就是先手输了。具体见:http://blog.sina.com.cn/s/blog_76原创 2015-01-29 19:52:41 · 1207 阅读 · 0 评论 -
BZOJ 2965 保护古迹 平面图转对偶图+最小割
题目大意:给出一个平面图,这个平面图中分布着一些点,可以用平面图中的边将一些点围住,问围住k个点的最小花费是多少。思路:这题重点是平面图转对偶图。做法不难理解。先将所有的边拆成两条,枚举所有的边,若这个边没有被标记过,那么就对这条边进行搜索,弄出来以这个边为一边的平面区域,可以顺时针或者逆时针。将所有边挂在这条边的起点上,在所有点上按照每条边的极角排序,每次找的时候找大于(或小于)当前原创 2015-01-27 20:32:31 · 1591 阅读 · 1 评论 -
BZOJ 2756 SCOI 2012 奇怪的游戏 二分+最大流
题目大意:给出一个棋盘,上面有一些数字,每一次可以将相邻的两个数字一起加一。问最少的次数使得整个棋盘上的数字都相等。思路:基础思路:二分最少的相等的数字。将棋盘黑白染色,每次操作一定会使一个黑子和一个白子加1,建立二分图,S向所有白点连边,所有黑点向T连边,流量为每个点到达需要相等数字的需求大小。相邻的黑点和白点连边,f:INF。然后跑最大流看是否满流就可以了。但是这个题需要多想一原创 2015-01-09 08:57:45 · 971 阅读 · 0 评论 -
POJ 2699 The Maximum Number of Strong Kings 竞赛图+最大流
题目大意:有n个人之间互相竞赛,现在给出每个人赢了多少局。若定义一个人是最高分或者这个人赢了所有比他分高的人,那么这个人就算赢了。问最多可能有多少人赢。思路:最大流模型的另一种应用。二分图,左边是所有选手,右边是所有比赛。S->所有选手 f:该选手赢了多少局所有比赛->T f:1由于最多只有十个人,所以枚举答案就行了。枚举最多有多少人赢了,如果一个分比较低的人赢了,那么分比原创 2015-01-07 08:20:11 · 977 阅读 · 0 评论 -
POJ 1637 Sightseeing tour 混合图欧拉回路 最大流
题目大意:给出一张混合图,问是否存在欧拉回路。 思路:成题,直接看题解吧。http://www.cnblogs.com/Lyush/archive/2013/05/01/3052847.htmlCODE:#include #include #include #include #include #define MAX 510#define MAXE原创 2015-01-06 17:31:25 · 754 阅读 · 0 评论 -
BZOJ 3931 CQOI 2015 网络吞吐量 最短路+最大流
题目大意给出一个无向图,求出在这个图上1到n的所有最短路形成的图的最大流。思路想让大家叠模板也不带这么懒得吧。。 记得开long long就行了。CODE#define _CRT_SECURE_NO_WARNINGS#include <queue>#include <cstdio>#include <cstring>#include <iostream>#include <algorith原创 2015-04-07 15:35:59 · 1008 阅读 · 0 评论