UVaLive 2796 Concert Hall Scheduling (最小费用流)

题意:一个著名的音乐厅因为财务状况恶化快要破产,你临危受命,试图通过管理的手段来拯救它,方法之一就是优化演出安排,既聪明的决定接受或拒绝哪些乐团的演出申请,使得音乐厅的收益最大化。该音乐厅有两个完全相同的房间,因此个乐团在申请演出的时候并不会指定房间,你只需要随便分配一个即可。每个演出都会持续若干天,每个房间每天只能举行一场演出。申请数目n为不超过100的正整数,每个申请用3个整数i,j,w来表示,表示从第i天到第j天,愿意支付w元。

分析:设置366个结点,表示365天(结点1到结点2表示第一天)。设置超级源点,连向第一个结点,容量为2(两个音乐厅),费用为0。设置超级汇点,使结点366连向它,容量为2,费用为0。然后,前365个结点,每个节点连向他的下一个节点,容量为2,费用为0,表示时间的流逝。最后对于每个申请,i到j + 1连一条边,容量为1,费用为负的w。跑费用流。建图如下。

总结:区间(时序)模型,区间较短,直接把一年拆成天数个点,依次连接表示时间的流逝。

代码:待补。

猜你喜欢

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