最小割 --- [CEOI2008]order

Posted ReMoon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最小割 --- [CEOI2008]order相关的知识,希望对你有一定的参考价值。

[CEOI2008]order

题目描述:

有N个任务,M种机器,每种机器你可以租或者买过来.

每个工作包括若干道工序,每道工序需要某种机器来完成,你可以通过购买或租用机器来完成。

现在给出这些参数,求最大利润

 

输入格式:

第一行给出 N, M (1 <= N <= 1200, 1 <= M <= 1200) 下面将有N个任务的数据。

每组数据第一行给出完成这个任务能赚到的钱([1,5000])及有多少道工序

接下来若干行每行两个数,分别描述完成工序所需要的机器编号及租用它的费用([1,20000])

最后M行,每行给出购买机器的费用([1,20000])

 

输出格式:

最大利润

 

 

题解?

也许吧,学习大佬的风格,采用简短的话语来描述。

也算是一种记录吧.

本题,额,比较简单的最小割。

把图抽象出来:

 

分析割(最小割):

对于每一个任务,割掉s与它的连边意味着无需后面的额外花费

对于每一个机器,如果购买了,那么租用的边不可能被割掉(最小)

对于每一个机器,如果未购买,可以选择对于每个选择的任务单独租用

也就是说,图可以保证让花费最小

那么总收益 - 最小花费 = 最大收益

 

注意常数因子,朴素Dinic可能无法通过

 

代码在此

 

以上是关于最小割 --- [CEOI2008]order的主要内容,如果未能解决你的问题,请参考以下文章

bzoj 1391 [Ceoi2008]order - 最小割

BZOJ 1391: [Ceoi2008]order

[Luogu4177][CEOI2008]order

[CEOI2008]order

BZOJ-1391order 最小割 + 最大全闭合图

BZOJ1391: [Ceoi2008]order