
网络流(最大流)
林伏案
妖蛾子良多的范老爷
展开
-
uva753
题目描述:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26746/*solution: 节点表示插头类型,边表示转换器,然后使用floyd算法,计算出任意一种插头类型能否转换成另外一种插头类型。 额外添加一个源点s,从s到设备device[i]连接一条容量为1的边,再额外加一个汇点t,从插座target[i原创 2016-04-25 23:33:13 · 522 阅读 · 0 评论 -
uva11082
题目描述:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=36866/*solution: 此题其实可以转换成最大网络流问题,可以想象每行是一个水管,每列也是一个水管。 把矩阵里的每个数都减少1,则A[i]减少c,B[i]减少r,每个元素范围变成0-19.假设每行对应 一个X,每列对应着一个Y,添加一个原创 2016-04-25 23:34:45 · 328 阅读 · 0 评论 -
uva753(一般图匹配)
/*translation: 一种设备插头对应着一个插座,但是有转换器可以将一种设备的插头转换成另外一种插头,每种转换器数量无限。 求最后最少剩下多少个设备匹配不上。 solution: 一般图的最大匹配。edmond-karp算法直接上。 note: 注意这个不能套匈牙利,因为转换器的关系,插头之间还有边存在。不能算作二分图。*/#include using names原创 2016-09-14 11:38:32 · 486 阅读 · 0 评论 -
uva820(最大流)
#include #include #include #include #include using namespace std;const int maxn = 10000 + 5;const int INF = 1e8;struct Edge{ int from,to,cap,flow; Edge(int u,int v,int c,int f):from(原创 2016-09-29 22:16:06 · 502 阅读 · 0 评论 -
poj2112(二分网络流)
/*translation: 有c头奶牛和k台挤奶机,每台挤奶机器最多能够同时服务m头奶牛。且每个物体之间有一定的距离。 求一种分配方案,使得每头奶牛能够分配到机器的同时,最小化奶牛所走的最长距离。solution: 二分+最大流 看到最小化最大值之类的很容易想到用二分枚举答案。然后就是判定是否可行了。方法是每枚举一次, 就重新建图。建图时将距离超过枚举原创 2017-02-04 20:34:53 · 282 阅读 · 0 评论 -
poj3281(#网络流最大流)
/*translation: n头牛,f种食物,d种饮料。每头牛有各自喜欢的食物和饮料。而每种饮料和食物只能分配给一头牛。最多能够有多少头 牛可以同时得到喜欢的食物和饮料。solution: 最大流 为了保证一头牛只享有一份食物和饮料。必须把牛拆成两点。一边和对应喜欢的食物连接,一边和对应喜欢的饮料连接。 然后每条边的容量是1.求最大流即可。note:原创 2017-02-09 20:30:30 · 278 阅读 · 0 评论 -
poj1149(*网络流建模方法,paper题)
/*translation: 有M个猪圈,每个猪圈里初始时有若干头猪。一开始所有猪圈都是关闭的。依次来了N个顾客, 每个顾客分别会打开指定的几个猪圈,从中买若干头猪。每个顾客分别都有他能够买的数量 的上限。每个顾客走后,他打开的那些猪圈中的猪,都可以被任意地调换到其它开着的猪圈里, 然后所有猪圈重新关上。问总共最多能卖出多少头猪。(1 <= N <= 100, 1原创 2017-02-18 23:32:22 · 331 阅读 · 0 评论 -
poj2987(网络最大流求最大闭合子图权值)
/*translation: 给出一张单向图,每个结点有固定的权值。每次选择一个点的同时,与该点单向连接的点也必须选择(比如u->v,选择u的同时 也必须选择v,但是对于k->u,k就不是必选的。)现在求一种选择方案使得其选择的权值最大的同时,选择的点数目最小。solution: 网络流求最大闭合子图的权值 具体的做法参考“最小割模型在信息学竞赛中的应用”这一论原创 2017-01-29 22:17:53 · 1309 阅读 · 1 评论 -
poj3155(网络流最大密度子图模型)
/*translation: 公司里面有若干职员,每个职员都有一个或者若干个和自己不和的人,如果让两个不和的人在一起工作,则效率必然下降。 定义一个hard因子。hard:=互相不和的职工对数 / 总人数。现在求从公司里面选出一些人出来,使得hard因子最大。solution: 网络流解决最大密度子图。 paper题,参考论文“最小割模型在信息学竞赛中的应用”一原创 2017-02-02 12:04:10 · 553 阅读 · 0 评论