标签:费用 志愿者 luogu 可以 招募 P3980 leq INF NOI2008
题意
项目需\(n\)天才能完成,其中第\(i\)天至少需要\(a_i\)个人。
一共有\(m\)类志愿者可以招募。其中第\(i\)类可以从第\(s_i\)天工作到第\(t_i\)天,招募费用是每人\(c_i\)元。
设计一种最优的招募方案使得用尽量少的费用招募足够的志愿者。
\(1\leq n\leq 1000,1\leq m\leq 10000\),题目中其他所涉及的数据均不超过\(2^{31}-1\)。
思路
由于天数够多,状态极大,可以考虑网络流。
\(i\)点向\(i+1\)点连一条\((0,INF-a_i)\)//(费用,容量)的边,代表第\(i\)天的要求(为了走出最大流,即至少要有\(a_i\)个人走的是加权的、覆盖了第i天的边)。
对于第\(i\)类志愿者,\(s_i\)向\(t_i+1\)连一条\((c_i,INF)\),代表这个人可以覆盖\(s_i~t_i\)天。
最后求一遍最小费用最大流,最小费用即为答案。由于最大流为\(INF\),所以第i天无法走的\(a_i\)个流量会从加权边走过。
当然还有一种可以用线性规划做的建图方法,(待填坑)。
代码
无
标签:费用,志愿者,luogu,可以,招募,P3980,leq,INF,NOI2008 来源: https://www.cnblogs.com/HSZGB/p/15022512.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。