这个题目说,有一个N*N的规格的方格。某些格子里有*号,每次可以消除一行或者一列中所有的*号。最少需要消多少次?

新学到的,什么什么定理,最少点覆盖等于最大匹配数。

这个定理可以这样来理解(看别人的),对于最大匹配状态下的一条匹配边,不可能两边同时存在可连的未匹配点,因为这样就可以增广了,所以对于一条匹配边,只要选取在其有未匹配点的一边的点就可以了,对于其他的匹配边同理。

接下来就是上模版的时候了。。。

召唤代码君:

#include <cstdio>
#include <vector>
#define maxn 505
using namespace std; vector<int> r[maxn],c[maxn];
int tr[maxn],tc[maxn],fc[maxn],tagc[maxn];
int n,m,ans,R,C; bool dfs(int cur,int T)
{
for (unsigned i=0; i<r[cur].size(); i++)
{
if (tagc[r[cur][i]]==T) continue;
tagc[r[cur][i]]=T;
if (fc[r[cur][i]]==0 || dfs(fc[r[cur][i]],T))
{
fc[r[cur][i]]=cur;
return true;
}
}
return false;
} int main()
{
scanf("%d%d",&n,&m);
for (int T=1; T<=m; T++)
{
scanf("%d%d",&R,&C);
if (tr[R]!=1) r[R].clear(),tr[R]=1;
if (tc[C]!=1) fc[C]=0,tagc[C]=0;
r[R].push_back(C);
}
for (int i=1; i<=n; i++)
if (tr[i]!=0 && dfs(i,i)) ans++;
printf("%d\n",ans);
return 0;
}

  

POJ3041_Asteroids的更多相关文章

随机推荐

  1. TP里where的查询方式,比如or应该怎么写?

    这应该是个基础..只是我没有系统的学TP,所以用到了临时查了手册. 正常来说,thinkphp里的查询方式是: ThinkPHP可以支持直接使用字符串作为查询条件,但是大多数情况推荐使用数组或者对象来 ...

  2. Analysis 图标分析 - loadrunner

    analysis常见 /

  3. 高可用OpenStack(Queen版)集群-11.Neutron计算节点

    参考文档: Install-guide:https://docs.openstack.org/install-guide/ OpenStack High Availability Guide:http ...

  4. 初学node.js-nodejs中实现HTTP服务(3)

    一.node.js实现服务端 创建hello-world-server.js文件,服务端源码如下: /** * node.js实现http服务端 */ var http = require('http ...

  5. sar命令详解

    基础命令学习目录首页 原文链接:http://lovesoo.org/linux-sar-command-detailed.html sar(System Activity Reporter系统活动情 ...

  6. 兼容所有浏览器的旋转效果-IE滤镜Matrix和CSS3transform

    在现代浏览器中使用CSS3的transform样式即可轻松搞定,但是对于国内IE浏览器(特别是7,8)还占有较大份额的情况下,兼容性还是必须要考虑的,所以也特意记录下IE旋转滤镜的使用. 在IE下的旋 ...

  7. 实践lnmpde 的安装

    1.先安装apache, yum install httpd 2.安装MySQL rpm -qa | grep mysql       // 这个命令就会查看该操作系统上是否已经安装了mysql数据库 ...

  8. 【Alpha版本发布】爬虫队长正在待命!

    一.基础功能简介 本团队的爬虫能够从网上搜索相关内容, 并归类,把所爬到的网页或各种类型的文档下载到本地上. 上届团队Beta版本爬虫的主要功能如下: a)可爬取网页,问答页并进行问答文件分类. b) ...

  9. Daily Scrum (2015/10/23)

    这天晚上PM和我一起细算下来这周的确做了不少事儿.由于这天是周五,有的组员今晚有外出活动,有的组员忙了一周想休息一下.所以PM与我讨论提出今晚就布置些阅读的任务,给组员们一些自由分配的时间: 成员 今 ...

  10. No.1_NABCD模型分析

        Reminder 之 NABCD模型分析           定位 多平台的闹钟提醒软件. 在安卓市场发布软件,发布后一周的用户量为1000.           N (Need 需求) 这个 ...