【洛谷】P3980 [NOI2008]志愿者招募】的更多相关文章

题解 最小费用最大流 每一天是一条边\((inf-a[i], 0)\) 然后对于一类志愿者, 区间两端连一条\((inf, c[i])\) \(S\)向第一个点连\((inf, 0)\) 最后一个点向\(T\)连\((inf, 0)\) 然后跑最小费用最大流 这为什么是对的? 我们的目的变成用加的那些边,把最大流量填成\(inf\) 求最小费用 Code #include<bits/stdc++.h> #define LL long long #define RG register using…
\(\mathcal{Description}\)   Link.   一项持续 \(n\) 天的任务,第 \(i\) 天需要至少 \(a_i\) 人工作.还有 \(m\) 种雇佣方式,第 \(i\) 种每雇佣一人代价为 \(c_i\),此人会从第 \(s_i\) 天工作到第 \(t_i\) 天(包括边界).求满足条件的最小代价和.   \(n\le10^3\),\(m\le10^4\). \(\mathcal{Solution}\)   非常巧妙地题意转化.   初始时刻,有 \(+\inft…
[洛谷]P3980 [NOI2008]志愿者招募 我居然现在才会用费用流解线性规划-- 当然这里解决的一类问题比较特殊 以式子作为点,变量作为边,然后要求就是变量在不同的式子里出现了两次,系数一次为+1,一次为-1 这样的话就作为了一个出度和一个入度,和边正好对应了 我们设每种志愿者选择人数是\(x_{i}\) 我们的限制是 \[ \left\{\begin{matrix} x_{i} \geq 0\\ x_{1} + x_{2} \geq A_{1}\\ x_{1} + x_{3} \geq…
https://www.luogu.org/problemnew/show/P3980 感觉费用流比网络流的图更难想到,要更大胆.首先由于日期是连续的,所以图中的点是横向排列的. 这道题有点绕道走的意思,由于一类志愿者是可以服务于一段时间,那我们给第i天连出去多条边,第一条边是流向i+1点的,容量为inf-a[i],费用为0,若有i 到 其他点t,费用为w, 则连一条(i, t+1, inf,w)的边 跑一遍费用流,算出结果 #include <algorithm> #include <…
思路 巧妙的建图 因为每个志愿者有工作的时段,所以考虑让一个志愿者的流量能够从S流到T产生贡献 所以每个i向i+1连INF-a[x]的边(类似于k可重区间集),每个si向ti连边cap=INF,cost=ci的边 相当于就是最大流要补全到INF,然后这个边的边权少了a[x],然后为了补全到INF,并且前面还有一个能从s向t能走的边可以通过流量(相当于加一个人),然后最大流就会补上这部分流量 然后MCMF就好了 代码 #include <cstdio> #include <algorith…
传送门 网络流又一神仙套路应用 首先考虑列不等式,设\(x_i\)为第i种人的个数,记\(b_{i,j}\)为第i种人第j天是否能工作,那么可以列出n个不等式,第j个为\(\sum_{i=1}^{m}b_{i,j}x_i\ge a_j\) 然后将这些不等式转成等式,新开变量y,则那些不等式可以写为\[\begin{cases}b_{1,1}x_1+b_{2,1}x_2...+b_{m,1}x_m=a_1+y_1\\b_{1,2}x_1+b_{2,2}x_2...+b_{m,2}x_m=a_2+y…
题意:最多1000天 每天需要至少ai个工人施工 有10000种工人可以雇佣 每种工人可以工作si到ti天 雇佣一个的花费是ci 问怎样安排使得施工花费最少 思考:最直白的建模方式 就是每种工人可以和他能工作的天 连边 但是这样就引出了一个一对多的问题 一种工人对他所连的所有天 贡献是一样的 也就是说他流向和他连的天的 流量应该都是一样的 但是网络流显然是做不到这一点 于是我们重新思考 发现每种工人其实就是一种区间覆盖 那么我们考虑差分的思想 把每相邻两天连起来 表示这种工人在第i天工作了后 跑…
1061: [Noi2008]志愿者招募 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 4064  Solved: 2476[Submit][Status][Discuss] Description 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管.布布刚上任就遇到了一个难 题:为即将启动的奥运新项目招募一批短期志愿者.经过估算,这个项目需要N 天才能完成,其中第i 天至少需要 Ai 个人. 布布通过了解得知,一共有M 类志…
1061: [Noi2008]志愿者招募 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 3975  Solved: 2421[Submit][Status][Discuss] Description 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管.布布刚上任就遇到了一个难 题:为即将启动的奥运新项目招募一批短期志愿者.经过估算,这个项目需要N 天才能完成,其中第i 天至少需要 Ai 个人. 布布通过了解得知,一共有M 类志…
[BZOJ1061][Noi2008]志愿者招募 试题描述 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管.布布刚上任就遇到了一个难 题:为即将启动的奥运新项目招募一批短期志愿者.经过估算,这个项目需要N 天才能完成,其中第i 天至少需要 Ai 个人. 布布通过了解得知,一共有M 类志愿者可以招募.其中第i 类可以从第Si 天工作到第Ti 天,招募费用 是每人Ci 元.新官上任三把火,为了出色地完成自己的工作,布布希望用尽量少的费用招募足够的志愿者,但这 并不是他的特长!…