摘要: 题意:N个队伍在M张桌子上吃饭,问你,是否存在一种方案,使得队伍中每个人都在不同的桌子上吃饭,若不能输出0,若能,输出1并输出解决方案分析:最大流问题,只是这个需要输出解决方案.先建图,每个队伍Ai与每个桌子Bi建一条边,权值为1,因为每个队伍只能派一个人在这张桌子上吃饭.同时建立超级源点S和超级汇点T,S向每个队伍建一条边,权值为队伍人数.每张桌子向T建一条边,权值为桌子容量!求最大流ans,若ans等于所有人数,则有解决方案,否则无解决方案;对与解决方案,对与每条边,起始点要求是队伍标号,终点是桌子标号,且流量flow要与容量cap相等,说明这条边被选择了!// File Name: 10 阅读全文
posted @ 2013-04-22 17:05 z.arbitrary 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 题意:有n(n ≤ 1000)个人和m(m≤500)个组。一个人可能属于很多组。现在请你从某些组中去掉几个人,使得每个人只属于一个组,并使得人数最多的组中人员数目最小。分析:看到最多的最小,就可以猜到是一个二分答案ans的题,最大流是没想到...囧.这题用最大流做,若Ai属于Bi,则连一条Ai到Bi的边,边值为1,然后连超级源点S到Ai的边,边值为1,表示仅有一个Ai,然后对于超级源点T,连Bi到T的边,边值为ans,表示Bi组织最多有ans个人,求最大流,若最大流答案等于n,则表示在每组人限制ans个的情况下能够分配组员到各组,若不等于,则说明在每组人限制ans个的情况下,不能分配组员到各组 阅读全文
posted @ 2013-04-22 15:01 z.arbitrary 阅读(318) 评论(0) 推荐(0) 编辑