广义的二分匹配。
每个boyi最多可以同时和kl[i]个girl在一起,每个girli最多可以和kr[i]个boy在一起。(这样比喻多好理解)
解决方案:
1、拆点。
2、如果有一边所有的人都比较保守,只能和一个人在一起,那么我们考虑:如果把这些点都弄到右边,可以在dfs时直接给每个左边的点做kl[i]次;如果都弄到左边,那让右边的节点可以匹配kr[j]次,若超过次数,就尝试递归当前已和她匹配上的这些节点,找增广路。(比较麻烦)
3、网络流。
例题:tyvj1935。
Solution:由于答案具有单调性,于是二分一个时间,看在这段时间内能不能全歼敌人。于是我们就把1个防御设备拆成一些点,当然这都要根据时间去算,然后指向一些设备。(当然,你不能指向一个规定时间打不到的)。