题目链接:http://poj.org/problem?id=3281
这题第一眼看上去有点像二分图匹配,奶牛和他们所喜欢的食物饮料匹配,但是这题的食物和饮料作为两种限制条件不好处理。一种用网络流的建图方式是从超级源点向食物连边,从饮料向超级汇点连边,奶牛放在中间,这样一条可行流就是超级源->食物->奶牛->饮料->超级汇,从而保证了每种食物和饮料都各自只能占用一次,奶牛一次只能占用一种食物和一种饮料,因此我们把每头奶牛拆成一个容量为1的边即可。
这样这种有两个限制条件的匹配图,就可以通过把待匹配项放到图两边的方式来解决。
1 |
|