摘要: 题意:有一个矩阵中放置的一写东西,然后你有一门炮,每次能横向或纵向开一炮,是这一行所有的东西摧毁。问你最少花多少炮弹摧毁所有的东西?输出一组解思路:构建二分图,两遍结点是行和列。若(x,y)存在东西则建边。这样问题就转化为最小点覆盖=最大匹配。坑爹之处在与输出一组解,liurujia说从X中所有未盖点出发扩展匈牙利树,标记树中所有点,那么X中无标记点和Y中有标记点即为答案。一开始由于不知道什么是匈牙利树,wa了好多次。其实匈牙利树就是书上的所有路径都是匹配边与非匹配边间隔。代码如下: 1 /************************************************** . 阅读全文
posted @ 2014-03-01 23:05 张小豪 阅读(820) 评论(0) 推荐(0) 编辑