POJ 1422 Air Raid

 二分图的最少边匹配,即找出最少的边可以覆盖所有的点。用匈牙利算法找出最大匹配,则最终结果为:ans = 图的顶点数 - 最大匹配。

代码如下:

 1 #include<iostream>
 2 #include<vector> 
 3 using namespace std;
 4 #include<cstdio>
 5 #include<cstring>
 6 
 7 #define MAXN 125
 8 
 9 int match[MAXN];
10 int map[MAXN][MAXN];
11 int vis[MAXN];
12 int n,m; 
13 
14 int find(int x)
15 {
16     for(int i=1;i<=n;i++)
17     { 
18         if(map[x][i]&&!vis[i])
19         {
20             vis[i] = 1;
21             if(!match[i] || find(match[i]))
22             {
23                 match[i] = x;
24                 return 1;
25             }
26         }
27     }
28     return 0;
29 } 
30 
31 int main()
32 {
33     int T;
34     scanf("%d",&T);
35     while(T--) 
36     {
37             memset(map,0,sizeof(map)); 
38             memset(match,0,sizeof(match)); 
39             int a,b;
40             scanf("%d%d",&n,&m); 
41             for(int i=0;i<m;i++)
42             {
43                 scanf("%d%d",&a,&b);
44                 map[a][b]=1;    
45             } 
46             
47             int ans=0;
48             for(int i=1;i<=n;i++)
49             {
50                 memset(vis,0,sizeof(vis));
51                 ans+=find(i);    
52             } 
53             printf("%d\n",n-ans);         
54     } 
55         return 0;    
56 } 

 

转载于:https://www.cnblogs.com/myacm/archive/2012/08/13/2637215.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/422255.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Winform下载文件

/// <summary>/// 下载文件/// </summary>/// <param name"URL">下载文件地址</param>/// <param name"Filename">下载后的存放地址</param>/// <param name"Prog">用于显示的进度条</param>pu…

knn k的选取_KNN - 初窥K近邻算法

1>算法概述KNN: 全名K-NearestNeighbor&#xff0c;K近邻算法&#xff0c;简单讲就是每个样本都可以用最接近的k个邻居表示&#xff0c;或者说共享同一个标签。KNN是一种分类(classification)算法&#xff0c;它输入基于实例的学习&#xff08;instance-based learning&…

前端学习(535):多列布局2

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>css多列布局</title><style>.parent{co…

刚装了fedora 17,装机必备,解决视频格式和中文输入法。

今天把ubuntu 12.04换成了fedora 17&#xff0c;喜欢gnome3的感觉&#xff0c;呵呵。为了刺激英语学习&#xff0c;特意选择的英文。结果就是没了中文输入法。。。。我的电脑是64位的&#xff0c;32位的同学变通下。 中文输入法&#xff1a; $ sudo yum install sunpinyin.i686…

前端学习(536):多列布局3列得间距

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>css多列布局</title><style>.parent{co…

Silverlight 5 Features

原文下载地址Improved media support Low Latency Audio Playback: Use the SoundEffect API to trigger low-latencysound Variable Speed Playback: allows video to be played at different speedsand supports fast-forward and rewind. At up to twice th…

scp会覆盖同名文件吗_你会Hypermesh一键式完成几何文件到求解文件的输出吗?

前不久&#xff0c;我在仿真秀APP更新了2篇Hypermesh二次开发的文章&#xff0c;介绍了《Hypermesh二次开发之电子产品跌落全流程开发讲解》和《前处理软件Hypermesh二次开发如何从入门到精通》&#xff1b;同步推出了《Hypermesh 二次开发高级培训11讲》线上视频课程&#xff…

前端学习(537):多列布局4横跨多列

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>css多列布局</title><style>.parent,.p…

JSONP 跨域共享信息

定义来源&#xff1a;http://zh.wikipedia.org/wiki/JSONP JSONP&#xff08;JSON with Padding&#xff09;是资料格式 JSON 的一种“使用模式”&#xff0c;可以让网页从别的网域要资料。另一个解决这个问题的新方法是跨来源资源共享。 由于同源策略&#xff0c;一般来说位于…

crontab 每周五_crontab定时任务 每隔一周的周五执行

定时任务每隔一周的周五执行 * * * * 05 /bin/bash -c (($(date +\%s) / 86400 \% 14)) && your-script 测试是否成功执行命令 写入定时任务 crontab -e 01 04 * * 05 /bin/bash -c (($(date +\%s) / 86400 \% 14)) && /bin/date +\%F_\%w >>/tmp/date.l…

jdbc各种数据库的连接说明

-------------------------------oracle--------------------------------驱动&#xff1a;oracle.jdbc.driver.OracleDriver URL&#xff1a;jdbc:oracle:thin:<machine_name><:port>:dbname 注&#xff1a;machine_name&#xff1a;数据库所在的机器的名称&#…

linux mysql 端口配置文件_linux虚拟机中各服务端口及配置文件路径

查询端口状况命令&#xff1a; netstat -an| grep 端口号查询服务状态(服务是否开启)命令&#xff1a;systemctl status 服务名开启服务命令&#xff1a;systemctl start 服务名1. ssh服务&#xff1a;端口 &#xff1a;22 配置文件路径&#xff1a;/etc/ssh/ssh.con…

前端学习(539):全屏布局得实现

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>全屏布局</title><style>html,body{mar…

【翻译】Pro.Silverlight.5.in.CSharp.4th.Edition - 第三章 布局 03

目录&#xff1a;点击这里 上一篇&#xff1a;【翻译】Pro.Silverlight.5.in.CSharp.4th.Edition - 第三章 布局 02 使用Canvas基于坐标布局 到目前为止我们还剩下Canvas没有学习到。Canvas可以让我们使用精确坐标给元素设置位置。对于设计一个以数据为主导的窗体和标准对话框来…

mysql mvcc 隔离级别_关于 Mysql 四种隔离级别中 Lock 和 MVCC 的关系

读写锁共享锁(share lock)&#xff5c; 读锁(read lock)读锁是共享的&#xff0c;或者说是相互不阻塞的。多个客户在同一时刻可以同时读取同一个资源&#xff0c;而互不干扰SELECT ... LOCK IN SHARE MODE排他锁(exclusive lock)&#xff5c; 写锁(write locl)写锁则是具有排他…

python三级联动菜单_VUE+element三级联动或树形菜单获取最后一项,并加入到表格中...

如下图,要实现的功能如下,勾选三级联动的材料,勾选最后一级的材料,把勾选的材料信息动态添加到下面表格中1 data数据return {options:[], // 三级联动 数据optionsObj : {} //{id: item} 材料id键值对clList: [], // 选中的材料}2 从后台获取三级联动数据getDataTrees(){this.s…