更详细地思路请参见Amber大牛的论文《最小割模型在信息学竞赛中的应用》
对于这道题,如果不考虑权值,就是一个二分图的最小点覆盖问题,加入权值后,变成了二分图的最小点权覆盖问题
X和Y分别表示出点和入点的集合,源S向每个出点i连一条边,容量为删除所有从点i出去的边的代价,每个入点i向汇点T连一条边,容量为删除所有进入点i的边的代价,对于每条边i->j,连边二分图中的i->j+n,容量为无穷
然后求最大流即可,最后找割边
在残留网络中从源点开始DFS,将源点能到达的点和不能到达的点分开标记
代码: