PIGS

题解:

考虑建立一个分层图,从s向猪圈连边,容量为初始容量,

猪圈向第一个顾客连边,容量为INF

顾客向汇点连边,容量为购买量

这样一轮就搞完了,考虑下一个顾客

由于上一轮被顾客访问的猪圈都互通了,那么可以新开一个节点

从上一次的猪圈向这个新的点连边INF

从这个点向这一轮的猪圈连边INF,

最后再从上一轮的猪圈向这一轮的猪圈连边,这样就完成了

建立分层图的原因是要保证操作的先后顺序

但是这样点数是nm的,显然会超时

考虑这么一件事情,一个猪圈对某个顾客有意义当且仅当他们之间有边

那么

 

posted @ 2018-02-09 14:31  尹吴潇  阅读(223)  评论(0编辑  收藏  举报