其他分享
首页 > 其他分享> > [NOI2008]志愿者招募

[NOI2008]志愿者招募

作者:互联网

题目描述

申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管。布布刚上任就遇到了一个难题:为即将启动的奥运新项目招募一批短期志愿者。经过估算,这个项目需要N 天才能完成,其中第i 天至少需要Ai 个人。 布布通过了解得知,一共有M 类志愿者可以招募。其中第i 类可以从第Si 天工作到第Ti 天,招募费用是每人Ci 元。新官上任三把火,为了出色地完成自己的工作,布布希望用尽量少的费用招募足够的志愿者,但这并不是他的特长!于是布布找到了你,希望你帮他设计一种最优的招募方案。

输入格式

第一行包含两个整数N, M,表示完成项目的天数和可以招募的志愿者的种类。 接下来的一行中包含N 个非负整数,表示每天至少需要的志愿者人数。 接下来的M 行中每行包含三个整数Si, Ti, Ci,含义如上文所述。为了方便起见,我们可以认为每类志愿者的数量都是无限多的。

输出格式

仅包含一个整数,表示你所设计的最优方案的总费用。

输入输出样例

输入 #1
3 3
2 3 4 1 2 2 2 3 5 3 3 2
输出 #1
14

说明/提示

1 ≤ N ≤ 1000,1 ≤ M ≤ 10000,题目中其他所涉及的数据均 不超过2^31-1。

第i天向下一天连一条容量为+oo-A[i],费用为0的边。
S向1连容量+oo,费用为0的边。
n+1向T连容量+oo,费用为0的边。
对于每种人(s,t,c),从s到t+1连一条容量+oo,费用c的边。
然后跑最小费用最大流。

相当于每天都要有+oo个人,但只有+oo-A[i]个是免费的,每种志愿者都可以填充对应区间。

标签:oo,费用,志愿者,招募,整数,布布,NOI2008
来源: https://www.cnblogs.com/pthws/p/11614118.html