E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
3041
poj
3041
最小点覆盖即最大匹配(匈牙利算法)(模板)
#include #include #include #include #include #include #include #include #include #defineinf(1>1) usingnamespacestd; #defineMAXN505 boolmap[MAXN][MAXN],vis[MAXN]; intmatch[MAXN]; intn,k; booldfs(intu
qq_31138083
·
2016-05-04 22:00
hdoj 1080 Human Gene Functions 【LCS变形】
hdoj1080HumanGeneFunctionsHumanGeneFunctionsTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):
3041
AcceptedSubmission
chenzhenyu123456
·
2016-05-01 12:00
poj
3041
Asteroids
/*BessiewantstonavigateherspaceshipthroughadangerousasteroidfieldintheshapeofanNxNgrid(1 inte[501][501]; intmatch[501]; intbook[501]; intn,m; intDFS(intu) { inti; for(i=1;i<=n;i++) { if(book[i]==0&&e[
huangshuai147
·
2016-04-07 09:00
二部图的匹配
poj
3041
Asteroids
DescriptionBessiewantstonavigateherspaceshipthroughadangerousasteroidfieldintheshapeofanNxNgrid(1 #include #include #include #include usingnamespacestd; intm,n,map[505][505]; intvis[505],link[505]; in
zyq_19960204
·
2016-04-04 20:00
poj-
3041
-Asteroids
传说中的匈牙利算法,==!第一次写,搞了半天才明白这个算法主要是构图:将每一行当成一个点,构成集合X,每一列也当成一个点,构成集合Y;每一个障碍物的位置坐标将集合X与集合Y中的点连接起来,也就是将每一个障碍物作为连接节点的边。这样可以轻易的得出本题是一个最小点覆盖的问题又有一个定理是König定理:最小覆盖点数==最大匹配数证明:首先,我们要抓住二分图最大匹配后图的特点,此时,不存在增广路。如下图
qq_21120027
·
2016-04-01 16:00
POJ-2226-Muddy Fields-二分图-最小点覆盖
因此就是说不能粗暴的把整行去掉之前的POJ
3041
就可以以点为边,对于点(x,y),只要对行x或着列y进行删除操作都可以把点(x,y)抹去,也就是说,把行和
viphong
·
2016-03-18 12:00
最小点覆盖 poj
3041
Asteroids
传送门:点击打开链接题意:给你一个地图,里面有一些x,现在可以对着横排或者竖排开枪,可以把整排的x都打掉,问要清理完整个地图的x,至少需要多少次操作。思路:最经典的一道最小点覆盖问题,把行和列分别当作点,如果(i,j)是x,那么就把行i和列j对应的点连一条边看了别人的代码好像都是连单向边,然后直接只用了n个点,说实话有点没看懂,,我只会用2*n个节点,然后连双向边这样搞。。#include #in
qwb492859377
·
2016-03-12 00:00
POJ
3041
-Asteroids-二分图匹配
题意:经典的二分图匹配问题。给出一个N*N矩阵,其中有K个障碍物。一发歼星炮可以清楚一行或者一列上的障碍物。求最少的开炮数。做法:可以考虑最大点覆盖。建图左边顶点为行,右边顶点为列。若有障碍物则连边。此时最大点覆盖就是最小开炮数,也就是计算二分图最大匹配。使用匈牙利算法即可。 1/*----------------------------------------------------------
Helica
·
2016-03-05 00:00
poj
3041
建图+最小顶点覆盖(最大匹配数)
这个题的意思是给你一个N*N的矩阵,里面有K个星球,我们可以让武器攻击矩阵的一行或者一列来使得这个星球被击碎,现在问你最少需要几个这种武器才能把所有的星球击碎,首先我们可以知道每个武器最多攻击一行一次,因此最多有2*N个武器,另外我们可以将武器看成顶点,星球看成边,连接一副图,求出这个图的最小顶点覆盖数也就是最大匹配数即可,代码如下:#include #include #include #i
xingxing1024
·
2016-03-04 20:00
POJ
3041
匈牙利算法模板题
一开始预习是百度的算法然后学习了一下然后找到了学长的ppt又学习了一下..发现..居然不一样...找了模板题试了试..百度的不好用反正就是wa了..果然还是应当跟着学长混..图两边的点分别是行数和列数每有一个点就让所处行列连一条边求最小点覆盖然后卡住...后来看了增林的博客...最小点覆盖=最大匹配数果然是模板题..然后wa..后来发现是当进行对左边点的遍历的时候每次都要mem一次vis数组应该是
天翎月
·
2016-03-02 23:00
POJ
3041
_Asteroids
题意:N*N网格中有小行星,光束能将一整行或者一整列的行星消灭,问消灭所有行星至少需要多少光束?分析:最小顶点覆盖问题,将每个小行星看成边,左右顶点为横纵坐标,可以转化为二分图,利用二分图中最小顶点覆盖等于最大二分匹配的性质,求出最大二分匹配(匈牙利算法)即可。代码:#include #include #include usingnamespacestd; constintmaxn=10005;
Yukizzz
·
2016-02-22 16:00
POJ
3041
Asteroids(二分匹配模板题)
/* poj
3041
行和列建立二分图 一个点上有东西则建立一条边。
qq_32866009
·
2016-02-20 21:00
二分匹配
POJ
3041
Asteroids(匈牙利+邻接表)
( ̄▽ ̄)"#include #include #include #include #include #include usingnamespacestd; constintMAXN=505; intuN;//二分图左边的点集 vectorg[MAXN];//存储矩阵数据 intlink[MAXN];//记录右边的点v在左边的点集uN中所匹配的点x的编号 boolvis[
ATMacmer
·
2016-02-19 18:00
POJ
3041
(二分图匹配 最小顶点覆盖)
AsteroidsTimeLimit: 1000MS MemoryLimit: 65536KTotalSubmissions: 18793 Accepted: 10204DescriptionBessiewantstonavigateherspaceshipthroughadangerousasteroidfieldintheshapeofanNxNgrid(1 #include #include
morejarphone
·
2016-02-18 11:00
POJ
3041
最大匹配匈牙利算法
#include #include #include usingnamespacestd; inta[501][501],match[501],m,n,p[501]; intdfs(intx){ inti,j,k; for(i=1;i>n>>m; intx,y; for(i=1;i<=m;i++){ scanf("%d%d",&x,&y); a[x][y]=1; } intans=0; for(i
huangkuizuiniu
·
2016-02-15 15:00
C语言
poj
图论
最大匹配
匈牙利算法
POJ
3041
(最大顶点覆盖)
AsteroidsTimeLimit: 1000MS MemoryLimit: 65536KTotalSubmissions: 18611 Accepted: 10134DescriptionBessiewantstonavigateherspaceshipthroughadangerousasteroidfieldintheshapeofanNxNgrid(1G[MAXN*2+10]; int
baneHunter
·
2016-02-03 20:00
POJ
3041
(最大顶点覆盖)
AsteroidsTimeLimit: 1000MS MemoryLimit: 65536KTotalSubmissions: 18611 Accepted: 10134DescriptionBessiewantstonavigateherspaceshipthroughadangerousasteroidfieldintheshapeofanNxNgrid(1G[MAXN*2+10]; int
baneHunter
·
2016-02-03 20:00
POJ
3041
Asteroids 二分图的最大匹配(最小点颠覆集)
POJ
3041
Asteroids 二分图的最大匹配(最小点颠覆集)题意:一直可以发射炮弹,每个炮弹可以打掉每一行或每一列的所有行星求如何发射才可以使炮弹使用的数量最少有题意可以抽象出两类出来 每一行的坐标可以看成一个集合
became_a_wolf
·
2016-01-25 20:00
POJ
3041
(匈牙利算法)
id=
3041
题意:求二分图最大匹配。思路:直接手搓了一份匈牙利算法的模版,练习一下吧。
rachelsg
·
2016-01-24 18:00
POJ
3041
Asteroids(二分匹配-hungary)
Description有一个n*n的方阵,方阵上有k个障碍物,每一次可以消除一行或者一列上所有的障碍物,问最少需要几次能够消除所有的障碍物Input第一行为两个整数n和k表示矩阵行列数和障碍物数量,之后k行每行两个整数i和j表示该障碍物处于第i行第j列Output输出最少几次才能消除所有障碍物SampleInput3411132232SampleOutput2Solution二分匹配,将每行看作一
V5ZSQ
·
2015-12-31 13:00
bzoj3140: [Hnoi2013]消毒
首先我们观察题目“只需要使用min{x,y,z}单位的F试剂”那么我们如果选择一位长度为a,那其他两维直接取到最大即可那么题目就相当于问最少切多少个面才能覆盖所有点二维的很简单,直接二分图匹配即可(不会的见poj
3041
thy_asdf
·
2015-12-29 08:00
年度最悲情首富:9个月2500亿财富烟消云散
中国基金报微信:chinafundnews【导读】按3月5日汉能薄膜发电最高9.07港元的价格算,总市值摸高至
3041
亿港元。李河君持有的汉能薄膜发电股权价值2552亿人民币。
中国基金报
·
2015-12-29 00:00
poj
3041
Asteroids(二分图匹配匈牙利算法)
#include #include #include usingnamespacestd; intpp[510][510]; intmap[510],vis[510]; intn,k; intfind_path(intx) { for(inti=1;i<=n;i++) { if(!vis[i]&&pp[x][i]) { vis[i]=1; if(!map[i]||find_path(map[i])
u014552756
·
2015-11-15 20:00
poj
3041
Asteroids 二分匹配之最小顶点覆盖
id=
3041
在N*N的平面上有K颗小行星,现在你要摧毁他们,你的每一发子弹可以摧毁同一行,或者是同一列上的小行星,现在问你最少要多少子弹才能摧毁所有的小行星?
·
2015-11-13 16:11
poj
POJ
3041
简单二分图匹配
题意: 格子上知道一些固定点的位置然后每一行,每一列都有一个枪,行上的枪可以扫射一行列上的枪可以扫射一列问最少需要多少枪能覆盖格子上那些点 思路: 最小点覆盖=最大匹配 所以以x轴为一个点集 y轴为另一个点集建图 然后求最大匹配就好.. Tips: nothing.. Code: View Code 1 #include <std
·
2015-11-13 14:30
poj
Algorithm: 匈牙利算法
例子: poj
3041
解法: 摘自http://blog.csdn.net/lyy289065406/article/details/6647040 把方阵看做一个特殊的二分图(以行列分别作为两个顶点集
·
2015-11-13 12:00
Algorithm
POJ
3041
-Asteroids
转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1299322465 解题思路: 把方阵看做一个特殊的二分图(以行列分别作为两个顶点集V1、V2,其中| V1|=| V2|) 然后把每行x或者每列y看成一个点,而障碍物(x,y)可以看做连接x和y的边。按照这种思路构图后。问题就转化成为选择最少的一些点(
·
2015-11-13 10:59
poj
POJ
3041
Asteroids (最小点覆盖)
id=
3041
给一个N*N的矩阵,有些格子有障碍,要求我们消除这些障碍,问每次消除一行或一列的障碍, 最少要几次。
·
2015-11-13 03:52
poj
二分图
二分图的最小顶点覆盖(例hdu1150,poj
3041
) 在二分图中求最少的点,让每条边都至少和其中的一个点关联,这就是 二分图的“最小顶点覆盖”。
·
2015-11-13 02:41
二分图
POJ
3041
, Asteroids
Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 4468 Accepted: 2319 DescriptionBessie wants to navigate her spaceship through a dangerous asteroid field in the shape o
·
2015-11-13 01:03
poj
[POJ
3041
Asteroids]
[题目来源]:POJ
3041
[关键字]:二分图最小点覆盖 [题目大意]:在一个坐标系中有k个障碍物,每次可以消除一整行或一整列上所有障碍物,问最少几次清除干净。
·
2015-11-13 00:41
poj
Asteroids
id=
3041
1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4
·
2015-11-12 23:47
id
pku
3041
Asteroids
id=
3041
大意:N*N的方阵中有m个怪兽,每开一枪可以杀死一行或者一列中的所有怪兽。至少要开多少强。 算法:将行列看作点,怪兽看作边。即现在需要选择最小的点数来关联所有的边。
·
2015-11-12 18:05
pku
POJ
3041
Asteroids【二分图最大匹配】
Description Bessie wants to navigate her spaceship through a dangerous asteroid field in the shape of an N x N grid (1 <= N <= 500). The grid contains K asteroids (1 <= K <= 10,000), whic
·
2015-11-12 15:52
poj
POJ
3041
Asteroids(二分图匹配)
题目链接 最大二分图匹配 = 最小点覆盖。。。上匈牙利模版。。 1 #include <cstdio> 2 #include <cstring> 3 using namespace std; 4 int p[501][501],used[501],linker[501]; 5 int n; 6 int dfs(int x) 7 { 8
·
2015-11-12 13:42
poj
POJ题目分类
1068 2632 1573 2993 2996图:最短路径:1860 3259 1062 2253 1125 2240最小生成树:1789 2485 1258 3026拓扑排序:1094二分图的最大匹配:
3041
·
2015-11-12 12:45
poj
POJ
3041
题
//题目类型:最小顶点覆盖问题//题目大意:有一个N*N的格子,里面有-和*。一次命令可以消除某一行或某一列所有的*。请用最少的命令次数,消除所有的*。 //解题思路:最小点覆盖:在二分图中,选择最少的点,使得每一边都至少有端点被覆盖。//Konig定理:最小点覆盖数=最大匹配数//于是,将格子转化成左边N个点,右边N个点的二分图。边XiYj表示i,j有*。这样,只要这条边被选择,所有这一行的*都
·
2015-11-11 15:35
poj
二分图最大匹配(匈牙利算法) POJ
3041
Asteroids
题目传送门 1 /* 2 题意:每次能消灭一行或一列的障碍物,要求最少的次数。 3 匈牙利算法:把行和列看做两个集合,当有障碍物连接时连一条边,问题转换为最小点覆盖数==二分图最大匹配数 4 趣味入门:http://blog.csdn.net/dark_scope/article/details/8880547 5 */ 6 #include <cstd
·
2015-11-11 12:48
poj
poj
3041
Asteroids
id=
3041
View Code #include <iostream>#include <cstdio>#include <
·
2015-11-11 12:16
poj
poj
3041
Asteroids 二分图-最小覆盖点
题意, N*N 矩阵, 有些地方有行星, 现有一种武器能够攻击一行, 或者一列,问最少攻击次数.消灭所有行星 解法. 因为要消灭所有顶点, 同一行中的顶点能 一次 消灭, 同一列的顶点也能 一次 消灭. 我们需要 最小的 攻击次数, 则意味着 最小的攻击次数消灭 所有顶点. 将所有存在行星的顶点(x,y), 按x, y轴分
·
2015-11-11 11:15
poj
pku
3041
建模:以点表示边,将每个点按坐标拆分,即为X集合和Y集合。 代码 // 31ms // Type:最小顶点覆盖 // 思路:最大最小定理(最小顶点覆盖=最大匹配),增广路径算法,用DFS实现 #include < stdio.h > #include
·
2015-11-11 05:59
pku
POJ
3041
Asteroids
解题思路:将行列分别对应二部图的两个set(行,列)->(left, right),问题转化为最小顶点覆盖问题,进而转化为求解最大流问题 #include < iostream > using namespace std; #define Num 505 bool
·
2015-11-11 04:06
poj
[POJ]
3041
Asteroids(最小点覆盖)
id=
3041
本题关键在于建图。把输入的坐标(x,y)分别拆成x,y,从x向y连边。
·
2015-11-10 23:30
poj
poj
3041
二分图最小点集覆盖
定理:二分图的最大匹配=最小点覆盖。 思路:将所有行看做点集X,所有列看做点集Y,如果在[i, j]处有小行星,则建立一条从i到j的边,然后求最大匹配即为最小点覆盖数即为答案。 1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 using namespace st
·
2015-11-09 13:13
poj
poj
3041
Asteroids (二分图 匈牙利算法)
id=
3041
题意: 给你N*N的矩阵,里面有的方格里有小行星,你需要用激光射掉它。。。
·
2015-11-09 12:39
poj
POJ
3041
Asteroids (最小点覆盖集)
题意 给出一个N*N的矩阵,有些格子上有障碍,要求每次消除一行或者一列的障碍,最少消除多少次可以全部清除障碍。 思路 把关键点取出来:一个障碍至少需要被它的行或者列中的一个消除。 也许是最近在做二分图匹配专辑吧……很容易想到这就是 最小点覆盖集:每条边都至少需要一个点被选中,称这条边被覆盖。 而由 König定理可知 二分图最小点覆盖 = 最大匹配。所以解法也就出来了: 把行当作左点
·
2015-11-08 16:07
poj
POJ
3041
Asteroids (最小点覆盖集)
题意 给出一个N*N的矩阵,有些格子上有障碍,要求每次消除一行或者一列的障碍,最少消除多少次可以全部清除障碍。 思路 把关键点取出来:一个障碍至少需要被它的行或者列中的一个消除。 也许是最近在做二分图匹配专辑吧……很容易想到这就是 最小点覆盖集:每条边都至少需要一个点被选中,称这条边被覆盖。 而由 König定理可知 二分图最小点覆盖 = 最大匹配。所以解法也就出来了: 把行当作左点
·
2015-11-08 16:53
poj
poj
3041
Asteroids(二分图 *【矩阵实现】【最小点覆盖==最大匹配数】)
Asteroids Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 16379 Accepted: 8930 Description Bessie wants to navigate her spaceship through a dangerous asteroid
·
2015-11-08 16:23
poj
二分图最少点覆盖
id=
3041
Asteroids Time Limit: 1000MS Memory Limit: 65536K Total Submissions
·
2015-11-08 14:10
二分图
POJ
3041
Asteroids(最小顶点覆盖)
id=
3041
题意:给出一个N*N的矩阵,代表一个狩猎场,有的位置有动物。已知一枪可以打死一行或一列上的所有动物。问最少多少枪可以打死所有的动物。
·
2015-11-08 11:02
poj
上一页
1
2
3
4
5
6
7
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他