有m项任务,每项任务的起始时间,持续时间,和它所在的block已知,且往返每对相邻block之间的时间也知道
问最少需要多少个工人才能完成任务,即x最少是多少
把m项任务构成一个有向无环图,若一个工人完成第i项任务后能去完成第j项任务,则把节点i和j之间连线
这样就转化成二分图的最大匹配问题
可以先用Floyd把各个block之间的往返时间求出来
代码:
有m项任务,每项任务的起始时间,持续时间,和它所在的block已知,且往返每对相邻block之间的时间也知道
问最少需要多少个工人才能完成任务,即x最少是多少
把m项任务构成一个有向无环图,若一个工人完成第i项任务后能去完成第j项任务,则把节点i和j之间连线
这样就转化成二分图的最大匹配问题
可以先用Floyd把各个block之间的往返时间求出来
代码: