题解
神仙题。
练习赛的时候想了个假建图。
正解太神仙了。
先把不合法情况判掉。
先对时间离散化,每个时间点开一个点。
然后把他们一次串起来,中间连((A,0))的边。
我们先假设所有的飞机都停到(B)上了,然后对于每一架飞机,我们但开一个点。
设这个点为(now),来的时间为(s),走的时间为(t)。
那么连((s,now,1,0),(now,t+1,val,0),(now,s+1,val-val*p,0))。
先把所有代价加起来,然后再减去最大费用就是答案。
它是怎么保证每个时间段停的飞机数量最多而不会超额呢?
考虑一条边满流的情况。
说明这个时间段的前面或者后面的某一个时刻已经停满了飞机。
这个思路非常巧妙,今天才第一次遇到还可以用别的边去表示一条边的流量。
代码
非常抱歉(