最大获利

最大权闭合图 Maximum Weight Closure of a Graph 在胡伯涛论文 《最小割模型在信息学竞赛中的应用》中有详细介绍。

定义一个有向图G = (V, E)的闭合图是该有向图的一个点集该点的所有出边都还指向该点集。即闭合图内的任意点的任意后继也一定在闭合图中。更形式化地说,闭合图是这样的一个点集V'∈V,满足对于∀u∈V'引出的∀<u, v>∈E,必有v∈V'成立。

闭合图的性质有恰好反映事物间的要条件的关系,一个事件的发生,它说需要的所有前提也都要发生。这就对应着图里面的所有由u引出的边e,在闭合图里u和由u的出边e到达的点v个整体,就是说,如果一个闭合图包含了u,就必须也要包含v,但是如果一个闭合图包含了v,却不一定要包含u,只要利用好这种必要关系,就可以很快建图了。

 

求最大权,可以转化成求最小割,他们间的的转化公式是 最大权 = 所有正点权之和 - 最小割 ,证明可以在论文中找到。

建图方式:添源点S,汇点T,对所有拥有正点权点v+建边<S, v+,w>,设w为点权,对所有拥有负点权点v-建边<v-,T,-w>,原图中的边保留,容量为INF。求得最大流,即为最小割,从而求出最大权。

 

对于本题:

第 i 个用户会使用中转站Ai和中转站Bi进行通讯,公司可以获益Ci,而且每个中转站的建立需要不同的花费p

想一想,要获益Ci,就需要建中转站Ai和Bi,这不就是一个必要条件么,所以可以建点vi点权为Ci,建边<vi, Ai>和边<vi,Bi>,Ai和Bi点权设为建这个中转站的花费p。如此再按照上述方法建图,即可。

posted on 2010-08-30 12:14  ylfdrib  阅读(1215)  评论(0编辑  收藏  举报