【JZOJ4589】抢夺 题解

针对大规模有向图中多人从起点到终点的问题,利用费用流算法寻找最优周期性路径,以确定最少天数完成任务。将问题转化为寻找稳定周期的过程,并通过计算总路径长度和流量来得出最终答案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目大意

      给出一幅有向图(点从0~n-1编号),每条边有个容量限制 c[i],表示这条边每天最多走 c[i] 辆车。
      现在有 k 个人从 0 出发,要到 n-1,求最少的天数,使全部人都到达。
      n<=1000, m<=5000, k,c[i]<=1e9

一个很劣的做法

      枚举天数。
      把点拆成天数份,每次从第 i 天到第 i+1 天,对于原图每条边 (x, y) 连上 x 的第 i 天连向 y 的第 i+1 天。然后每个 x 从第 i 天连向自己的第 i+1 天。
      什么时候满流什么时候停下来。

题解

      天数较大的时候,行车的方案是趋于稳定的,即有个类似于周期一样的东西存在。
      对原图用费用流找出增广路,这就相当于是把这个类似于周期一样的东西找出来了。
      设 road=flow,sum=len*flow,那么答案就是 sum+k/road,相当于所有路径先拿 sum 个人去填满,然后后面每个时刻每条路径出来一个人。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值