容易想到网络流之类的东西,虽然范围看起来不太可做,不过这提供了一种想法,即将行列分别看做点.那么我们需要找一种连n+m条边的方案,使得可以从每条边中选一个点以覆盖所有点.显然每个点至少要连一条边.于是这个东西就必须是环套树森林了,并且显然其可以满足条件.现在要求的就是最小环套树森林. 求法类似kruskal,只要连了这条边之后该连通块的边数<=点数就给他连上.显然这样得到的是环套树森林,至于为什么最小,证明方法也与kruskal类似,即如果当前边不冗余却不加,则需要另一条边来做等效(这里等效比较…