[NOI2008] 志愿者招募

Algo.1 感性的费用流

我们考虑至少 ai 是不好做的,考虑转化成最多有 INFai 个人摆烂。

S 开始向 1INF 边代表一开始有无穷个人在摆烂,第 i 天要有 ai 个人干活就是说至多有 INFai 人摆烂,由 ii+1 连边即可。

考虑每一类志愿者,他们在 si 时刻停止摆烂在 ti+1 时刻回来继续摆烂,连一条 (si,ti+1,INF,ci) 的边即可。

最后有解一定是满流。

Algo.2 线性规划角度

显然我们可以把这个问题写成一个线性规划的形式。

可以考虑使用单纯形算法。

Algo.3 凑费用流

由于单纯形算法追求一般性而忽略了图的特殊性质,倘若我们发现这些性质使用更局限的费用流来解决,就可以得到更优的做法。

考虑费用流的限制当中,每一条边所对应的流量分别在起点和终点对应的流量平衡条件中出现了两次,且一正一负。考虑把原限制转化成这种形式再建图。

首先原限制是不等式的形式,我们可以在一边加上非负变量 ti 将其转化成等式。

接着要求变量一正一负出现两次,我们可以进行一个差分。

然后怼一下硬搞成一个费用流图就可以了。

posted @   PYD1  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示