题意:
给出 n n n个人, m m m个怪兽, k k k瓶药水。接下来n行代表第 i i i个人可以杀的怪兽编号,行首 t i t_i ti表示第 i i i个人可以杀的怪兽个数,随后 t i t_i ti个数表示怪兽编号。每个人只能杀死一头怪兽,同时有 k k k瓶药水,药水可以让一个人多杀一头怪兽,但是一个人最多只能使用一瓶药水。问最多能杀死多少怪兽。
思路:
- 匈牙利:这道题很容易想到二分图最大匹配,但是有k瓶药水的条件,所以我们只要跑两遍匈牙利,第一遍跑最大匹配,第二遍跑出来答案和 k k k取最小值就可以了
- 最大流:最大流,主要就是怎么建图,建立源点 S S S,汇点 T T T,从 S S S向 n n n个人连出 n n n条流量为 1 1 1的边,从第 i i i个人向其能杀死的怪兽连流量为 1 1 1的边, m m m头怪兽向汇点连 m m m条流量为 1 1 1的边,再建立一个点 K K K,从 S S