/*
这个问题将是每行一个x作为节点x,没有列y作为节点y,障碍物的坐标xy来自x至y的
边缘。图建的问题后,变成,拿得最少的点,因此,所有这些点与相邻边缘,即最小
点覆盖,与匈牙利算法来解决。
-------------------------------
定理:最小点覆盖数 = 最大匹配数。即求图的最大匹配就可以,匈牙利算法
-------------------------------
模板解说:
bool find(int v)
{
for(int i=1; i<=n; i++)
{
if(g[v][i] && !vis[i])假设结点i和v相邻而且未被查找过
{
vis[i] = true;标记结点i为已查找过
if(link[i] == 0 || find(link[i]))link[i] == 0表示i不再前一个匹配M中||i在匹配M中,可是从与i相邻的节点出发能够有增广路
{
link[i] = v;记录查找成功记录
return true;返回查找成功
}
}
}
return false;
}
-------------------------------
匈牙利算法介绍:
匈牙利算法是由匈牙利数学家Edmonds于1965年提出。因而得名。 匈牙利算法是基于
Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找
增广路径。它是一种用增广路径求二分图最大匹配的算法。
---------------------------------
*/
#include <iostream>
#include <cstdio>
#include <cstring>
#define INF 0x3f3f3f3f using namespace std; int n,k,r,c;
int g[550][550];
bool vis[10010];
int link[10010]; bool find(int v)
{
for(int i=1; i<=n; i++)
{
if(g[v][i] && !vis[i])
{
vis[i] = true;
if(link[i] == 0 || find(link[i]))
{
link[i] = v;
return true;
}
}
}
return false;
} int main()
{
//freopen("input.txt","r",stdin);
int ans;
while(scanf("%d%d",&n,&k) != EOF)
{
memset(g,0,sizeof(g));
memset(link,0,sizeof(link));
for(int i = 0; i < k; i++)
{
scanf("%d%d",&r,&c);
g[r][c] = 1;
}
ans = 0;
for(int i=1; i<=n; i++)
{
memset(vis,0,sizeof(vis));//清空上次搜索时的标记
if(find(i))//从节点i尝试扩展
ans++;
}
printf("%d\n",ans);
}
return 0;
}

---------------------------------------------------------------------

战斗,不留情面。斗争。永不停歇~~~~~~~~~~

版权声明:本文博客原创文章,博客,未经同意,不得转载。

【网络流量-二部图最大匹配】poj3041Asteroids的更多相关文章

  1. windows下使用C#获取特定进程网络流量

    最近老板接了一个中船重工的项目,需要做一个有关海军软件系统的组件评估项目,项目中有一个子项目需要获取特定进程的各种系统参数,项目使用.NET平台.在获取特定进程各种系统参数时,其它诸如进程ID,进程名 ...

  2. 一个链接引发的血案---------服务器 IO及网络流量暴涨解决历程

    在这里介绍一次因为更改网站地址而引发服务器IO读取速度,网络流入流出速度暴涨10倍的解决经历. 环境:Ubuntu + Nginx + php-cgi + Wordpress 事情是这样的,现在网站使 ...

  3. CentOS7 监控进程网络流量工具安装

    服务器在做测试的时候,需要监控网络流量,用来了解在不同人数的时候服务器的网络使用量. 我们使用服务器环境是centos7,centos下通常使用iftop,或者nethogs来进行网络流量监控.这2个 ...

  4. 【读书笔记】iOS网络-测试与操纵网络流量

    一,观测网络流量. 观测网络流量的行为叫做嗅探或数据包分析. 1,嗅探硬件. 从iOS模拟器捕获数据包不需要做特别的硬件或网络配置.如果需要捕获这些数据包,那么可以使用嗅探软件来监听回送设备或是用于连 ...

  5. Linux下网络流量实时监控工具

    Linux下网络流量实时监控工具大全 在工作中发现,经常因为业务的原因,需要即时了解某台服务器网卡的流量,虽然公司也部署了cacti软件,但cacti是五分钟统计的,没有即时性,并且有时候打开监控页面 ...

  6. [Android Pro] 网络流量安全测试工具Nogotofail

    reference to : http://www.freebuf.com/tools/50324.html 从严重的HeartBleed漏洞到苹果的gotofail 漏洞,再到最近的SSL v3 P ...

  7. Linux网络流量实时监控ifstat iftop命令详解

    ifstat 介绍 ifstat工具是个网络接口监测工具,比较简单看网络流量 实例 默认使用 #ifstat        eth0                eth1       KB /s i ...

  8. linux网络流量实时监控工具之iptraf

    这个工具还是很强大 linux网络流量实时监控工具之iptraf [我的Linux,让Linux更易用]IPTraf是一个网络监控工具,功能比nload更强大,可以监控所有的流量,IP流量,按协议分的 ...

  9. Ubuntu 14.10 下网络流量实时监控ifstat iftop命令详解

    ifstat 介绍 ifstat工具是个网络接口监测工具,比较简单看网络流量 实例 默认使用 #ifstat eth0 eth1 KB/s in KB/s out KB/s in KB/s out 0 ...

随机推荐

  1. hdu1964之插头DP求最优值

    Pipes Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  2. Source Insight 3.X 插件支持utf8,完美解决中国乱码,连接到美丽的轮廓

    上次SI多标签插件之后,由于公司内部编码改为utf8编码,因此特意做了这个Source Insight 3.X utf8插件. 下载地址:http://pan.baidu.com/s/1mgyZous ...

  3. OTN&互换amp; P-OTN有效降低100G 网络成本 (两)

    OTN互换& P-OTN有效降低100G 网络成本 (两) 在全球范围内.网流量的增长速度是空前的,导致此现象的缘由包含云服务的增长.移动宽带和基于互联网的视频点播服务的增长. Cisco估计 ...

  4. 返璞归真 asp.net mvc (1) - 添加、查询、更新和删除的 Demo

    原文:返璞归真 asp.net mvc (1) - 添加.查询.更新和删除的 Demo [索引页] [源码下载] 返璞归真 asp.net mvc (1) - 添加.查询.更新和删除的 Demo 作者 ...

  5. Nginx禁止特定用户代理(User Agents)访问(转)

    Nginx可以通过各种方式来限制访问,例如NGINX基本Http认证.allow/deny等等,这些都是前文提过的,今天来看看nginx如果通过用户代理来禁止访问. user agent是什么? 用户 ...

  6. virus.win32.parite.H查杀病毒的方法

    virus.win32.parite.H病毒的查杀方法 昨天电脑中了virus.win32.parite.H病毒,搞了2个多小时最终搞定了.以下记录下我的解决方法. 第一步:下载Win32.Parit ...

  7. JDK5什么是新的线程锁技术(两)

    一个. Lock线程同步实现互斥 Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,锁本身也是一个对象. 两个线程运行的代码片段要实现同步相互排斥的效果.他们必须用 ...

  8. 汉诺塔问题的java递归实现

    import java.util.Scanner; public class Hanoi { int count=0; public void hanoi(int n,char A,char B,ch ...

  9. Swift和C#的基本语法对比

    Recently, Apple announced and released a beta version of the new Swift programming language for buil ...

  10. java.lang.VerifyError

    public class VerifyErrorextends LinkageError Thrown when the "verifier" detects that a cla ...