poj 3041 Asteroids 二分图最小点覆盖

POJ3041-Asteroids 北大POJ3041-Asteroids 解题报告+AC代码 立即下载

http://poj.org/problem?id=3041
首先这个题目求的是二分图的最小点覆盖,二分图的最小点覆盖等于二分图的最大匹配。
因为行与行没关系,列于列也没关系,但行和列之间有关系;
所以这个题目转换为行列之间的二分图的最大匹配

#include<iostream>
#include<cstdio>
#include<vector>
#include<cstring>
using namespace std;
vector<int>s[505];
int vis[505];
int match[505];
int find(int u)
{
	for(int i=0;i<s[u].size();i++)
	{
		int temp=s[u][i];
		if(vis[temp]==0)
		{
			vis[temp]=1;
			if(match[temp]==-1||find(match[temp]))
			{
				match[temp]=u;
				return 1;
			}
		}
	}
	return 0;
 } 
int pipei(int n)
{
	int sum=0;
	for(int i=1;i<=n;i++)
	{
		memset(vis,0,sizeof(vis));
		if(find(i))
		{
			sum++; 
		}
	}
	return  sum;
}
int main()
{
	int n,k,t;
	int a,b,c;
	scanf("%d%d",&n,&k); 
		memset(match,-1,sizeof(match));
		for(int i=0;i<=n;i++)
		{
			s[i].clear();
		}
		for(int i=0;i<k;i++)
		{
			scanf("%d%d",&b,&c);
			s[b].push_back(c);
		}
		printf("%d\n",pipei(n));
 } 
2026 最新实战教程:AI 重构开发全流程(从需求→上线→运维) 1)做什么系统2)技术栈3)功能模块4)部署要求plaintext我要做一个:待办事项(Todo)全栈应用技术栈:前端:React + TypeScript + Tailwind后端:Node.js + Express + MongoDB部署:Docker + 本地运行(后续可上云)功能:- 增删改查任务- 任务状态切换(完成/未完成)- 简单错误处理请按企业级标准生成:架构设计 + 全部代码 + 接口文档 + 启动命令。 阅读详情

相关推荐

cs188Inference in Bayes Nets(贝叶斯网络的推理)

cs188Inference in Bayes Nets贝叶斯网络的推理Question1(3 points):Bayes Net StructureQuestion2(1 points):Bayes Net ProbabilitiesQuestion 3(5 points):Join FactorsQuestion4(4 points):EliminateQuestion5(4 points):NormalizeQuestion 6(4 points):Variable EliminationQuesti

weixin_46582817的博客 1674

POJ 3041 Asteroids(最小覆盖数)

POJ 3041 Asteroids(最小覆盖数) http://poj.org/problem?id=3041 题意:        有一个N*N的网格,该网格有K个障碍物.你有一把武器,每次你使用武器可以清楚该网格特定行或列的所有障碍.问你最少需要使用多少次武器能清除网格的所有障碍物? 分析:        把网格的行1到N看出左边点集的点,网格的列号看成右边点集的点. 如果(i,j

code 3937

百元DIY手机荧光计:低成本荧光检测平台搭建与实战

荧光检测是一种基于物质受特定波长光激发后发射更长波长荧光的分析技术,其核心原理在于光与物质的相互作用。通过选择性激发与检测,该技术能实现对痕量物质的高灵敏度、高特异性定量分析,在生物医学、环境监测和食品安全等领域具有重要价值。传统荧光分光光度计虽精度高,但成本昂贵、体积庞大且操作复杂,限制了其在现场快检和普及教育中的应用。本文聚焦于如何利用智能手机的高性能摄像头和处理器,结合低成本光学滤光片和LED光源,构建一个便携、经济的DIY荧光检测平台。该方案通过简化光路设计,采用带通滤光片进行波长选择,并利用图像处

weixin_34194829的博客 308

poj 3041( 最大匹配)

题意:给出一个矩阵和一些矩阵上的点,选择最少的行或列把给出的点覆盖。 思路:把行看成一个点集,列看成另一个点集,每个给出点构造一条这两个点集中的一条边。我们的问题就变成了选择最少的点把所有的边覆盖。很显然这就是一个最大独立点集问题,可用最大匹配求解。 匈牙利匹配算法: View Code 1 #include<iostream> 2 #include<s...

weixin_30752699的博客 177

无需Root!用VirtualXposed+JustTrustMe在安卓高版本上抓包拼多多API数据

本文详细介绍了在安卓高版本设备上无需Root权限即可抓取拼多多API数据的完整方案,通过VirtualXposed与JustTrustMe组合技术,有效绕过SSL Pinning限制。文章涵盖工具准备、环境配置、应用处理及实战分析,特别针对PDD应用的混合通信策略提供了专业解决方案,适合开发者进行竞品分析和数据采集。

weixin_28678151的博客 454

TIA protal与SCL从入门到精通(4)——软件单元使用

平台: TIA portal 15.1 1.添加软件单元 添加软件单元如下图: 关于软件单元使用基本限制,看如下文章即可 TIA protal与SCL从入门到精通(3)——软件单元基本介绍 每个软件单元是一个独立结构,所以每个软件单元的运行方式与实际PLC类似,所以首先添加主函数块: 注意:无论系统是否是具有并发性(这里不要混淆并行与并发的概念),在PLC所有主函数执行总是按主函数依次完成...

苦走一口田 7377

POJ - 3041(最小点覆盖数)

Asteroids Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 27321 Accepted: 14671 Description Bessie wants to navigate her spaceship through a dangerous asteroid field in the shape of an N ...

c___c18的博客 560

东方财富个股实时行情爬虫实战:从入门到精通,手把手教你构建股票数据采集系统

在量化投资、股市分析和数据挖掘等领域,获取实时、准确的股票行情数据是第一步也是至关重要的一步。东方财富网作为国内最大的财经门户网站之一,提供了丰富的股票数据和实时行情接口。本文将带你从零开始,构建一个完整的东方财富个股实时行情爬虫系统,涵盖股票代码遍历、JSON接口分析、反爬虫策略应对、数据持久化存储等核心技术点。目录前言一、项目背景与目标1.1 为什么要爬取东方财富数据?1.2 项目目标1.3 技术栈二、接口分析与逆向工程2.1 寻找真实数据接口2.2 简化接口2.3 字段含义对照表三、股票代码获取。

2201_76125261的博客 146

POJ 3041【最小点覆盖】

POJ 3041 Asteroids 最小点覆盖:选择一个点能够与它相连的所有边,选择一个最小的点集能够覆盖二分图中所有的边。 最小点覆盖==最大匹配 匈牙利算法求解 #include <iostream> #include <cstdio> #include <cstring> #define INF 0x3f3f3f3f #define lowbit(x) x & (-x) using namespace std; typedef long long ll;

L_X_ 328

大模型的应用与微调:如何调用 LLM?从 OpenAI API 到本地部署

本篇文章介绍了如何调用 OpenAI、DeepSeek、Manus、通义千问等大模型 API,并探讨了 LLM 本地部署的方法。在实际应用中,可以根据需求选择云端 API 或本地化部署方案,以满足不同的计算需求和隐私要求。下一篇:大模型微调与 RAG 技术(LoRA、QLoRA、向量数据库)

晴天彩虹雨的博客 1157

杰理AC696N系列芯片外部中断使用教程

本教程详细介绍了杰理AC696N芯片的GPIO引脚中断唤醒功能实现方法。主要内容包括: 功能特点: 支持任意GPIO引脚配置为中断源 可灵活选择上升沿或下降沿触发 提供自定义中断回调函数接口 核心实现: 通过port_wkup_interrupt_init()函数配置GPIO属性 使用request_irq()注册中断服务程序 提供中断使能/关闭接口 注意事项: 此功能在低功耗模式下无效 需注意引脚冲突和中断优先级设置 建议在回调函数中实现简洁的逻辑 应用场景: 按键检测 外部信号监测 事件触发等 本方案提

qq_42014563的博客 944

poj 3041(最小点覆盖)

题意:有一个n*n的网格,上面有m个小行星,一个武器一次可以摧毁一行或一列的全部小行星,问武器至少多少次能把所有小行星摧毁。 题解:这个问题可以转化为最小点覆盖问题,把每行当做一个点放入左边的集合,每列当做一个点放入右边的集合,然后每个小行星的坐标就是左右集合的一条连线,所有行星都划线最后就会有很多连线出现。最小点覆盖是指用最少的点(X集合或Y集合的都行)让每条边都至少和其中一个点关联,也就是最少

俯瞰风景 647

《MPDIoU:边界框回归的高效革新与YOLOv8集成实战指南》

摘要: MPDIoU(多优先级距离IoU)通过引入中心距离、形状差异和尺度变化的三步优化策略,解决了传统IoU在目标检测中的尺度敏感、收敛低效和场景局限问题。相较于GIoU、DIoU等主流方法,MPDIoU在精度、速度和鲁棒性上实现全面提升,尤其在复杂场景和小目标检测中表现突出。通过代码集成和训练优化,MPDIoU在YOLOv8中显著提升COCO数据集AP指标,并在智能安防(密集行人检测)和工业质检(微小缺陷定位)等垂直领域验证了其应用价值。未来研究方向包括动态权重调整和多模态融合,进一步拓展边界框回归的精

m0_64661770的博客 159

POJ 3041 Asteroids(二分图最小点覆盖, 转化)

二分图最小点覆盖 题目意思: 有 n * n 的矩阵, 有k个小行星, 有位美女开飞船,开一枪可以消灭一行或者一列的 小行星。问,最少开多少枪, 可以消灭所以的小行星。 本题要点: 1、左部节点: n个横坐标 右部节点:n个纵坐标 n <= 500, 用邻接矩阵来存图 2、 最小点覆盖数定义: 就是对于一个图,选取最少数量的点S,使得对于所有的边,都至少有一端点是S中的点。 该题目中,小行星的坐标 (x, y) 转化为 二分图 左部的点 x 连上 右部的点y的一条边。 求出最小点覆盖数 的 s个点后,

qq_38232157的博客 241

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Asteroids POJ - 3041(最小覆盖点 ,二分图匹配)

Asteroids POJ - 3041 题意:n*n网格,一枪可以干掉一行或一列行星,问最少开几枪。 分析:即选几个边点或列点开枪,求最小的点的个数-->即最小覆盖点,在二分图中等于最大匹配,因为每个行星都有一个行坐标和列坐标即求行坐标和列坐标的最大匹配。 代码: #include<cstdio> #include<iostream> #include&...

fighting_yifeng的博客 212

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

POJ3041--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), which are conven

crystaljy的博客 395

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

POJ 3041 Asteroids 二分图最小点覆盖

给N和K,N代表N*N的矩阵,K代表接下来有K个格子,每个格子上有一个小行星, 他的武器每次可以干掉某一行或者某一列的所有小行星,然后问最少使用 多少次该武器 最小点覆盖:就是对于一个图,选取最少数量的点S,使得对于所有的边,都至少有一端点是S中的点 König定理:二分图中的最小覆盖点数==最大匹配数 这个题建图,每行对应为左边的每个点,每列对应为右边的点,然后如果(i,

一蓑烟雨任平生 446

POJ - 3041 Asteroids 二分图最小点覆盖

题目链接 二分图一个很重要的定理:看了很多大神的博客表示看不懂为什么,以后再看 最小点覆盖=最大匹配 最小点覆盖就是在二分图里边,选择一个点,将所有与该点相链接的边删去,问最小找多少个点能够把所有的边删去。 本题的思路:将每一个点的坐标(x,y)转化为一条边左侧的点x到右侧的一个点y,x,y之间存在一条边。 那么你不管删除那一个点,将该点对应的边全部删去,就对应上边最小点的定义,与此同时...

swust5120171204的博客 200

poj3041 Asteroids 最小点覆盖 二分图匹配

题意: 一个矩阵,其中一些点上有小行星。 一次可以摧毁1行或者1列的全部小行星,问最少几次可以摧毁所有小行星。 思路: 如果在(i, j)这个点上有小行星,则连边i->j。 i与j只要选一个,这条边代表的小行星就会被摧毁。 可见,本题答案就是最小点覆盖,即选择最少的点,使每条边都至少有一个端点被选中。 二分图中最小点覆盖=最大匹配 代码(736K,16MS): #

Shion的专栏 612

POJ3041 Asteroids【二分图最小点覆盖】

题目大意: 有一个N*N的矩阵,有些格子上有障碍物(坐标为(x,y) ),在消除这些障碍物的时候,可以一次性消除 该障碍物同一行所有的障碍物,或是一次性消除该障碍物同一列所有的障碍物。只能选择清理该行或是 清理该列。问:最小进行多少次消除,就可以清理所有的障碍物。 思路: 可以将每一行当做一个点,这样总共有N个点,作为二分图的一边。将每一列当做一个点,这样又有N 个点,作为二分图的另一边。将有障碍物的行点和列点连接起来,每次只能选择行或是列,需要清除所 有的障碍物。所以不能存在一条边两边的点都没有被选中的

程序员充电站(itcharge) 1115

POJ 3041 Asteroids(二分图 && 匈牙利算法 && 最小点覆盖)

嗯... 题目链接:http://poj.org/problem?id=3041 这道题的思想比较奇特: 把x坐标、y坐标分别看成是二分图两边的点,如果(x,y)上有行星,则将(x,y)之间连一条边,而我们要做的就是要找尽量少的点把所有的边覆盖,即为最小点覆盖问题,根据König定理:最小覆盖点数=最大匹配数,所以就可以用匈牙利算法求最大匹配了。 AC代码: ...

weixin_30871905的博客 175

POJ - 3041 Asteroids 二分图 最小点覆盖 最大匹配

Training 7 - F题 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), w...

xukeke12138的博客 225

poj 3041 Asteroids 二分图的最大匹配==最小覆盖点。

题目的意思是在一个网格中有若干个点,每一次可以一下子清楚一行或者一列,问多少次可以讲网格中的点全部清除。    分析:将行做表看作一个集合的点,列坐标看作一个集合的点,每个点就连接两个集合的边,求出最大匹配就是所要的答案。。。 题目: Asteroids

ACM梦。。。。 2276

POJ 3041 Asteroids 二分图 最小点覆盖

题意:在一个N×N的方格图中,有K个敌人。

leodestiny 545

poj3041 Asteroids 最小点覆盖 二分图

Asteroids Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 13927   Accepted: 7566 Description Bessie wants to navigate her spaceship through a dangerous aster

633
上一篇: Increasing Speed Limits hdu3030 树状数组求一个序列中有多少个上升子序列
下一篇: POJ 2771 Guardian of Decency 二分图最大独立集
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值