UVALive - 3487 Duopoly(最小割)

题意:有两个公司A和B在申请一些资源,现在给出两个公司所申请的内容,内容包括价钱和申请的资源,现在你做为官方,你只能拒绝一个申请或者接受一个申请,同一个资源不能两个公司都拥有,且申请的资源不能只给部分,问:作为官方,你能得到的最大利益是多少。

分析:这题的矛盾在于,同一个资源不能两家公司共享,既然如此的话,那就找出矛盾的申请,让他们之间连条线就可以了,容量为INF,设立源点,源点和A公司的申请相连接,容量为申请的价钱,设立汇点,汇点和B公司的申请相连接,容量为申请的价钱,然后找出矛盾的申请,连线。因为只有矛盾的申请才能连线,且只有连线的才能把流流到汇点,所以跑出来的最大流就是我们所需要的最小割,所以答案就是所有申请的价钱总和 - 最小割,去掉最小割后,两个点集之间就没有关系,也就不会存在矛盾了。建图如下。

总结:

代码:待补,参考https://blog.csdn.net/L123012013048/article/details/48133037

猜你喜欢

转载自blog.csdn.net/tianwei0822/article/details/92796304
今日推荐