[网络流24题]星际转移问题

来源:互联网 发布:数据库版本几位数 编辑:程序博客网 时间:2024/05/18 00:45

【题意】由于人类对自然资源的消耗, 人们意识到大约在 2300 年之后, 地球就不能再居住了。于是在月球上建立了新的绿地,以便在需要时移民。 令人意想不到的是, 2177 年冬由于未知的原因, 地球环境发生了连锁崩溃, 人类必须在最短的时间内迁往月球。 现有 n 个太空站位于地球与月球之间,且有 m 艘公共交通太空船在其间来回穿梭。每个太空站可容纳无限多的人, 而每艘太空船 i 只可容纳 H[i]个人。每艘太空船将周期性地停靠一系列的太空站,例如: (1, 3, 4)表示该太空船将周期性地停靠太空站 134134134…。每一艘太空船从一个太空站驶往任一太空站耗时均为 1。 人们只能在太空船停靠太空站(或月球、 地球)时上、下船。初始时所有人全在地球上, 太空船全在初始站。 试设计一个算法, 找出让所有人尽快地全部转移到月 球上的运输方案。


考虑对每一个太空站拆点

拆成天数个点,然后从小到大枚举每一天d,然后把太空站,地球,月亮,拆出d个点

然后枚举每一个太空船,枚举每一天他经过的点,连一条流量为h[i]的边

然后从源点S向每一天的地球连一条inf的边。

然后从每一天的月亮向汇点T连一条inf的边。

然后从上一天的每一个节点向当天的对应节点链接一条inf的边,因为人们可以留在中转站等一等嘛 

每次新加一天然后跑到最大流超过人数即可。

1 0
原创粉丝点击