题意:一个项目有$n$天,第$i$天至少需要$A_i$个人。有$m$种志愿者可以招募,每一种可以从第$s_i$天工作到$t_i$天,费用每人$c_i$元。求用最少费用招募志愿者满足要求。
这道题是经典的流量平衡模型。常用来解决一类特殊的线性规划问题。
根据$n$天每天的供求关系,我们可以列出一系列不等式,最后求最大化一个线性式子。这正是线性规划。
添加上松弛变量变为等式,等式间相减,发现每个变量正好在左边出现一次,在右边出现一次。
这个时候我们就可以以等式为点,将符号为负的变量移到右边。等式左右表示入流量和出流量的平衡。假定左边为出流量,右边为入流量。每个变量由在左边的式子向在右边的式子连边,其中代表志愿者的边费用为$c_i$。将源点右边的常量连边,左边的常量与汇连边。跑一遍费用流,解决问题。
存信息的数组又开小了,调了好久。。。明明可以在线直接把边加了的啊。。。