「THUPC 2017」机场 / Airport

https://loj.ac/problem/2403

题解

神仙题。

练习赛的时候想了个假建图。

正解太神仙了。

先把不合法情况判掉。

先对时间离散化,每个时间点开一个点。

然后把他们一次串起来,中间连\((A,0)\)的边。

我们先假设所有的飞机都停到\(B\)上了,然后对于每一架飞机,我们但开一个点。

设这个点为\(now\),来的时间为\(s\),走的时间为\(t\)

那么连\((s,now,1,0),(now,t+1,val,0),(now,s+1,val-val*p,0)\)

先把所有代价加起来,然后再减去最大费用就是答案。

它是怎么保证每个时间段停的飞机数量最多而不会超额呢?

考虑一条边满流的情况。

说明这个时间段的前面或者后面的某一个时刻已经停满了飞机。

这个思路非常巧妙,今天才第一次遇到还可以用别的边去表示一条边的流量。

代码

非常抱歉(

posted @ 2019-05-23 20:12  comld  阅读(373)  评论(0编辑  收藏  举报