DTOJ 4744. deadline

题意

俗话说,deadline 是第一生产力,对于小 U 也是如此。之前忙碌的数学集训和考试让他无暇顾及OI,几天前他才接到了出题任务:给联考出题。
“我一个 MOer,怎么来给联考出题了呢?” 他感叹道。

小 U 一共有 n n n 个出题任务,其中某些出题任务的类型是不一样的。比如想 idea 属于脑力型劳动,写 std 属于体力型劳动。我们用 t i t_i ti 表示第 i i i 个任务的类型,其中 t i = 0 t_i = 0 ti=0 表示脑力型劳动, t i = 1 t_i = 1 ti=1 表示体力型劳动。

小 U 决定把数学集训完毕的时间到比赛开始的时间分成 m m m 个部分,而每一部分时间小 U 只能完成恰好一个出题任务。若数对 ( u , v ) (u, v) (u,v) 满足:在第 v v v 部分时间他可以做第 u u u 个任务,那么则称数对 ( u , v ) (u, v) (u,v) 是合适的 。小 U 有 k k k 个合适的数对 ( u i , v i ) ( 1 ≤ i ≤ k ) (u_i, vi) (1 \le i \le k) (ui,vi)(1ik)

为了肝 ddl,小 U 决定采取以下两步策略:

  • (1)决定每一部分的时间是做体力型劳动还是脑力型劳动。
  • (2)在满足 1 的要求之下,每一个部分的时间选取一个能够做的任务 (要求任务类型与 (1) 中决定的类型相同) 完成。当然,如果没有能够做的任务,他只能在这一部分时间里什么都不做。

由于小 U 很擅长计算,但是他不擅长做选择。所以他实行第 (2) 步策略时,总是可以在 (1) 的约束下找到一种策略使得最终被做完的出题任务数量最大。但是他实行第 (1) 步策略往往不是最优的,很可能是最劣的。

幸运的小 U 在实行第 (1) 步策略时没有做出太差的决定,所以他最后把所有出题任务都几乎做完了。但还是差一些任务没有做完,怎么办呢?小 U 灵机一动,决定把这个题出在联测里:

假设小 U 第 (1) 步做出了最不利于第 (2) 步的决定,那么他能够做完几个出题任务呢?

对于所有数据, 1 ≤ n ≤ 2000 , 1 ≤ m ≤ 2000 , 1 ≤ k ≤ 5000 1 \le n \le 2000,1 \le m \le 2000,1 \le k \le 5000 1n20001m20001k5000

数据编号 n ≤ n \le n m ≤ m \le m k ≤ k \le k特殊限制
1 2 2 2 2 2 2 2 2 2
2,3 10 10 10 10 10 10 100 100 100
4,5 20 20 20 15 15 15 30 30 30
6-8 2000 2000 2000 2000 2000 2000 5000 5000 5000特殊性质一
9-15 2000 2000 2000 2000 2000 2000 5000 5000 5000特殊性质二
16-25 2000 2000 2000 2000 2000 2000 5000 5000 5000

特殊性质一:对于任意 1 ≤ i ≤ n , t i = 0 1 \le i \le n ,t_i = 0 1inti=0

特殊性质二:每一部分时间都有恰好两种可以完成的任务,并且这两种任务类型不同

题解

对于特殊性质二,把任务按种类看作二分图,每个时间向对应的两个任务连边,要求的就是最小点覆盖。
由此考虑扩展到一般情况,就是要确定每个时间连向的种类,使得最小点覆盖最小。由于边不确定不好直接求最小点覆盖,而要求的是最小值,联想到最小割,考虑把覆盖一个点看作一个1的割。这样,把每个时间段拆点,起点向终点连1的边(构造一个1的割),把0和1的任务分别和S、T连边,这样可以把时间段归到哪边看作这个时间段选了哪个种类。由于每条边的两个端点至少要选一个(即至少有一个点产生割),于是把每个时间的起点、终点分别和0,1的任务连inf的边,这样可以保证每条边的两个点至少有一个产生割,对整张图求最小割即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值