【网络流】:poj2987,Firing

本文介绍了如何利用最大权闭合图解决poj2987题目的Firing问题。最大权等于所有正点权重之和减去最小割。在确定裁员方案时,根据最小割的特性,被裁掉的员工不在最小割路径上。通过从源点遍历残留网络可以找到解决方案。注意处理sum时需使用long long类型避免溢出。
摘要由CSDN通过智能技术生成



数学解释不多说了,参考:http://blog.csdn.net/scorpiocj/article/details/6085637

最大权闭合图,最大权=sum-最小割,sum为所有正点权的和;要裁掉几个人,根据最小割的性质,被裁掉的人肯定不在最小割中,所以只要从源点开始对残留网络进行遍历即可。


注意一点,sum类型为long long,否则出错。


/*
 * Dinic algo for max flow
 *
 * This implementation assumes that #nodes, #edges, and capacity on each edge <= INT_MAX,
 * which means INT_MAX is the best approximation of INF on edge capacity.
 * The total amount of max flow computed can be up to LLONG_MAX (not defined in this file),
 * but each 'dfs' call in &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值