这个题目说,有一个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. Design2:使用HierarchyID构建数据的分层结构

    1,传统的分层结构是父子结构,表结构中有一个ParentID字段自引用表的主键,表示“归属”关系,例如 create table dbo.emph ( ID int not null primary ...

  2. loadrunner使用过程中的问题记录

    一.录制时选错应用类型,导致提示“loadrunner sockets proxy auto-starter mercury interactive corp.(2002)” 解决办法:重新选择正确的 ...

  3. Python+Selenium UI自动化测试环境搭建及使用

    一什么是Selenium ? Selenium 是一个浏览器自动化测试框架,它主要用于web应用程序的自动化测试,其主要特点如下:开源.免费:多平台.浏览器.多语言支持:对web页面有良好的支持:AP ...

  4. 微信小程序-帝国cms会员系统调用

    在用户->管理会员字段,增加如下字段:openidsession_keylsktokennicknameheadimg设置用户名长度然后,在系统,系统变最设置,用户设置,将注册用户名设置长度改成 ...

  5. Django 前后端不分离 代码结构详解

    Demo:  hello_pycharm 根目录文件:hello_pycharm [__init__.py  __pycache__  settings.py  urls.py  wsgi.py] A ...

  6. arp与rarp

  7. PHP 伪协议

    1.file:// file://用于访问本地文件系统,不受allow_url_fopen影响 <?php include($_GET['file']); ?> 2.http:// GET ...

  8. 遇到执行SQL 的参数最大个数

    报错: 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确.此 RPC 请求中提供了过多的参数.最多应为 2100. 现象是: SQL 执行的参数过多,超过了 最大值 :2100 个. ...

  9. Tomcat之初识初体验

    1.what's this? Stable performance, free Java web application server! 相关: Java,Javac,JVM,JRE,JDK,Java ...

  10. Python基础_异常处理与跟踪

    异常的种类 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常:基本上是无法打开文件 ImportError 无法引入模块或 ...