图论1

最大流:https://vjudge.net/problem/UVA-11082

题意:已知一个方阵每行以及每列的和,求满足该条件且方阵中每个数都为1-20之间的数的方阵。

方法:以每行以及每列为结点,建立R+C个结点,再建立源点和汇点,源点到对应每行的结点的容量为该行的和,对应每列的结点到汇点的容量为该列的和,行结点到列结点的容量为  19,该边的流量代表方阵中(i, j)位置的数(容量为19是因为题目要求数的范围为1-20,但流量从0开始,所以可以每个数分别减1,则范围变为0-19,满足最大流的计算),因此结点i到结点j对应的边的容量为该位置的数。

 

最小费用:https://vjudge.net/problem/UVA-1658

题意:有v个点,e条边的有向加权图,已知每条边的费用,求1 - v的两条不相交(除了起点了终点外没有公共点)的路径,使得权和最小,输出最小费用。

方法:因为要求两条不相交的路径,故每条边只能走一次,所以拆点,将每个节点分为两个结点,中间的边容量为1,源点和汇点拆分后中间边的容量为2(两条路径),求最小费用。

posted @ 2018-03-09 00:27  Sissi_hss  阅读(85)  评论(0编辑  收藏  举报