HDU 1054 Strategic Game 二分图 最小顶点覆盖

E - Strategic Game (HDU - 1054 )(最小顶点覆盖)(匈牙利算法模板)(树形DP) 题意:鲍勃喜欢玩电脑游戏,特别是战略游戏,但有时他无法找到解决方案,速度不够快,那么他很伤心。现在,他有以下的问题。他必须捍卫一个中世纪的城市,形成了树的道路。他把战士的最低数量的节点上,使他们可以观察所有的边。你能帮助他吗?士兵,鲍勃把一个给定的树,你的程序应该发现的最小数目。输入文件包含多个数据集的文本格式。 我们来先了解一下什么是最小顶点覆盖; 图G的顶点覆盖是一个顶点集合V,使得... 阅读详情

做该题要掌握以下两点:

1、二分图最小顶点覆盖 = 双向二分图最大匹配 / 2 。

2、利用STL中的vector的可以很方便的建立图的邻接表存储。主要用到push_back()、clear()操作。

3、scanf()和printf()函数可以很方便的实现题中的输入和输出。详见代码。

 

AC代码:625MS

#include<iostream>
#include<vector>
using namespace std;

const int MAX=1500;   

vector<int> map[MAX];
//bool map[MAX][MAX];
bool used[MAX];
int link[MAX];
int n;

void preClear()
{
	for(int i=0;i<n;i++)
		map[i].clear();
}

void storeMap()   //存储二分图
{
	preClear();

	int i,j,row,col,num;

	memset(map,false,sizeof(map));

	for(j=0;j<n;j++)
	{
		scanf("%d:(%d)",&row,&num);
		for(i=0;i<num;i++)
		{	
			scanf("%d",&col);
			//map[row][col]=true;
			//map[col][row]=true;

			//邻接表,双向图
			map[row].push_back(col);
			map[col].push_back(row);
		}
	}
}

bool can(int t)  //确定是否存在增广路径
{
	int tmp;

	for(int i=0;i<map[t].size();i++)
	{
		tmp=map[t][i];
		if(!used[tmp])
		{
			used[tmp]=true;
			
			if(link[tmp]==-1 || can(link[tmp]))
			{
				link[tmp]=t;
				return true;
			}
		}
	}

	return false;
}

int maxMatch()
{
	int num=0;
	memset(link,0xff,sizeof(link));

	for(int i=0;i<n;i++)   //从每一左顶点出发寻找增广路径
	{
		memset(used,false,sizeof(used));
		if(can(i)) num++;
	}

	return num;
}
		
int main()
{
	while(scanf("%d",&n)==1)
	{
		storeMap();

		printf("%d\n",maxMatch()/2);
	}

	return 0;
}


 

 

 

 

 

Power BI Report Server自定义登录实战:从AD切换到Form的完整流程(附GitHub源码) 本文详细介绍了如何将Power BI Report Server的登录认证从Active Directory切换到自定义Form认证的完整流程。通过环境准备、认证模块编译、配置脚本修改等步骤,帮助用户实现品牌统一的登录界面和简化外部用户访问。附有GitHub源码,适用于需要个性化登录解决方案的企业。 阅读详情

相关推荐

Android-S无线模块前瞻

WiFi - mainlane非强制 S 采用反射的方法直接加载wifiservice,直接hook在systemserver上,无编译依赖。gms可以动态替换wifi服务。 R 采用直接启动service的方式,wifiservice仍然map在systemserver上。 WiFi - 11ad接口支持 11ad被wifi联盟商业化为WIGIG,提供短距的60GHZ载波,理论速度为当前5G 11ac的6倍。市面上基本没有手机支持,需要独立的芯片支撑此功能。 传输距离为3m以内,外界d.

头铁的伦的博客 1044

HDU 1054 Strategic Game(二分图 最小顶点覆盖)

                             Strategic GameBob enjoys playing computer games, especially strategic games, but sometimes he cannot find the solution fast enough and then he is very sad. Now he has the ...

MengX 320

Android13 CarPowerManagementService启动流程分析

在CarPowerManagementService中init调用PowerHalService的setListener设置事件侦听器以接收车辆的电源事件。

liuning1985622的博客 957

HDU-1054 Strategic Game(二分图最小顶点覆盖)

原题链接 Strategic Game Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 7120    Accepted Submission(s): 3377 Problem Description

L. 431

comsol 多物理场仿真流程-以开关柜为例

1、主要方法 在SolidWorks中对于开关柜的内部与外部结构进行建模,生成能够导入软件计算的3D模型。将SolidWorks中的模型导入comsol软件中,设置参数进行多物理场耦合仿真。 1、具体步骤 删除高压开关柜中对其内部电磁环境无较大影响的结构,如低压测量柜、断路器内部结构等。 导入模型:将厂家提供的3D模型转化为solidworks结构模型。 修复模型:修复已转化模型中转化错误的部分、修复已转化模型中非实体部分、修复已转化模型中重叠实体部分 化简模型:去除过于...

健忘16的博客 7020

【CanMV K210】AI 视觉 MNIST 手写数字识别与分类推理

本文介绍了基于CanMV K210开发板的MNIST手写数字识别实验。实验通过摄像头采集图像,经过开窗、灰度化、缩放、反色等预处理后,使用KPU神经网络加速器运行MNIST分类模型,最终在LCD上显示识别结果。重点讲解了分类模型与检测模型的区别、图像预处理流程以及KPU推理结果的解析方法。实验帮助理解从图像采集到分类输出的完整AI视觉处理链路,并提供了调试思路和硬件连接说明。

Mr数据杨 366

hdu 1054 Strategic Game (二分图 最小顶点覆盖)

Strategic Game Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 5047    Accepted Submission(s): 2306 Problem Description Bob enjoy

ACway的专栏 700

高通Camx功能feature分析之八:高通NCS服务之架构和初始化

本文介绍了高通NCS(NONCameraSensor)服务的架构与初始化流程。NCS服务通过QMI接口访问非相机传感器,为CameraEIS、AEC等算法节点提供陀螺仪、加速度计等传感器数据支持。文章详细解析了NCS服务的分层架构,包括客户端、服务端、QSEE接口实现等组件,并重点分析了初始化过程中获取传感器列表、查询能力等关键步骤。通过camxsetting.xml中的enableNCSService开关控制服务启动,初始化过程涉及QSEE单例创建、传感器能力查询等核心操作。后续文章将继续深入讲解相关技术

931

hdu 1054 Strategic Game 最小顶点覆盖(二分图最大匹配)

#include #include #include #include #include #include using namespace std; const int maxn=1510; int n; int pre[maxn],vis[maxn]; vectore[maxn]; mapv1,v2; int find(int u)//判断是否存在增广路经,匈牙利算法 { i

冷月之殇 1983

【unity游戏开发入门到精通——通用篇】Post Processing 后处理插件Post-process Volume 和 Volume最全基础使用说明

之前我已经实现了不少后处理功能,本文其实就是将他们归类整理,以便更好的查找和理解。在Unity中,后处理(Post-Processing)是在相机所捕捉的图像上应用一些特殊效果的过程,后处理会让图像视觉效果更好(前提是做的好)。这些效果的范围有非常细微的颜色调整,也包括整体的美术风格的大修,可以让场景看起来更加真实或风格化,或者只是变得更好看。就像我们都会用手机拍照,但很多时候我们拍的原始的相片都打不到我们想要的效果。比如照片可能亮度不够,颜色不饱和或者对比度不好等。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 7900

Spec Kit:GitHub 官方推出的规范驱动开发工具包,让 AI 编程真正可控、高效、高质量

先明确“做什么”和“为什么”,再考虑“如何做”。它通过一系列标准化命令(如/specify/plan/implement可验证的功能规格(spec)可执行的技术方案(plan)可追溯的开发任务(tasks)高质量的实现代码(code)最终实现“规范即代码,代码即规范”的闭环。📌项目地址许可证:MIT(完全开源,欢迎贡献)Spec Kit 代表了 GitHub 对AI 原生开发(AI-Native Development)AI 不应替代开发者,而应放大开发者的意图。

lpfasd123的博客 1713

HDU - 1054 Strategic Game(最小顶点覆盖)(二分图匹配)(图论学习)

Bob enjoys playing computer games, especially strategic games, but sometimes he cannot find the solution fast enough and then he is very sad. Now he has the following problem. He must defend a medieva...

birdmanqin的博客 287

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

HDU ACM 1054 Strategic Game 二分图最小顶点覆盖?树形DP

分析:这里使用树形DP做。 1、最小顶点覆盖做法:最小顶点覆盖 == 最大匹配(双向图)/2。 2、树形DP: dp[i][0]表示i为根节点,而且该节点不放,所需的最少的点数。 dp[i][1]表示i为根节点,而且该节点放,所须要的最少的点数。 dp[i][0]=sum(dp[son[i][j]][1]) 该点不放。则它的儿子节点必须都放,仅仅有这样之间的边才干够被覆盖。 ...

weixin_30877227的博客 115

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

POJ 1463 ||HDU 1054 Strategic game(二分图最小顶点覆盖)

思路:直接跑一个KM,最后答案/2#include<map> #include<queue> #include<cmath> #include<iostream> #include<cstdio> #include<stack> #include<cstring> #include<algorithm> #define LL __int64 #define inf 0x3f3f3f3f const

Grit_ICPC的博客 575

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【二分图匹配(最小顶点覆盖)】hdu 1150 Machine Schedule(外:hdu 1054 Strategic Game)

题意:给定k个工作,有两台机器,A机器有n种工作状态,B机器有m种工作状态,对于每一个工作,既可以被A机器Ai模式完成又可以被B机器Bj模式完成,每一次转换模式需要重启机器,求完成所有工作至少需要转换多少次模式。 分析:将A以及B的不同模式作为二分图的两个部分,工作作为边,则该题转化为求解最小顶点覆盖来求解。 原理:最小顶点覆盖:包含二分图的X,Y部的部分顶点的一个集合,使得所有的边至少有一个

yduqytd的专栏 767

Strategic Game HDU - 1054(二分图 最小顶点覆盖=最大匹配数 vector写法)

题意:一个无向树,n个点,问最少多少个点可以使每个边都与这些点相连。 解:1.最大匹配数等于最小顶点覆盖数。画一个图思考一下就知道了。 2.套用匈牙利算法模板。 3.注意无向图最后匹配数需除2。因为是双边,调试一下就知道了。 Bob enjoys playing computer games, especially strategic games, but sometimes he cannot find the solution fast enough and then he is very sad. N

Are_you_ready的博客 195

hdu1054 Strategic Game(最小顶点覆盖)

http://acm.hdu.edu.cn/showproblem.php?pid=1054 题意:Bob想要保卫一个中世纪城市,每个节点可以放一个工兵,每个工兵只能从一条路的一端打向另一端,如果这个节点相连多个边,那么与之相连的点工兵都可以保卫到。所有的道路组成一颗树,求可以保卫这棵树所需要的最少工兵数是多少。 ps:刚学了匈牙利算法,就是那个趣写教程,太火了就不上链接了。整体思

Iguodala的博客 880

HDU1054Strategic Game(最小顶点覆盖数)

我们来先了解一下什么是最小顶点覆盖; 图G的顶点覆盖是一个顶点集合V,使得G中的每一条边都接触V中的至少一个顶点。我们称集合V覆盖了G的边。最小顶点覆盖是用最少的顶点来覆盖所有的边。顶点覆盖数是最小顶点覆盖的大小。 相应地,图G的边覆盖是一个边集合E,使得G中的每一个顶点都接触E中的至少一条边。 如果只说覆盖,则通常是指顶点覆盖,而不是边覆盖。 在二分图中  :最大匹配数=

陌上花开 2911

最小点覆盖 -- HDU 1054 Strategic Game

HDU 1054 Strategic Game 题意: 给你一个n个节点的多叉树,士兵站在节点上,问你至少要多少士兵就能监视多叉树上的所有边。 思路: 最小点覆盖裸题,最小点覆盖 = 二分图最大匹配。 code: #include<iostream> #include<cstdio> #include<cstdlib> using namespace std; const int maxn = 1505; struct edge{ int u, v, next; } g

dajiangyou123456的博客 188

HDU - 1054 Strategic Game(二分图匹配写法)

HDU - 1054 题意:就是求最小顶点覆盖。树形dp过了的题,看着是说怎么这么眼熟 思路:这个二分图比较好想的,找个根,与根的最短距离为奇数的点丢在一部分,是偶数的点丢在另外一部分,然后连边求边的匹配。 讲真我现在看到一些图还是觉得懵,不知道如何建图...今天看网络流好不容易把那个最基础的算法弄懂了点点,想要看一下题,结果第一题就不知道怎么建图....有点绝望.... #include

shinimashzi 301

HDU 1054Strategic Game(一般图匹配之最小点覆盖)

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1054 这题水题,因为meiy

scf0920 2015

HDU 1054 Strategic Game (二分图匹配)

题意:给出一张图,要求最小顶点覆盖,即选出最少的点,让每条边都至少与一个选出的点关联。 题解:二分图匹配 根据输入建边,跑出的最大匹配 / 2就是答案,因为最大匹配就是选出没有公共点的最大边数,那么剩余边必然跟选出的关联(相邻)。 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<cstdio> #include<string> #include<cstring> #include<a

gongyuandaye的博客 261

Strategic Game——二分图最大匹配(最小顶点覆盖)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1054 Bob enjoys playing computer games, especially strategic games, but sometimes he cannot find the solution fast enough and then he is very sad. Now h...

mumei的博客 363
上一篇: HDU 1068 Girls and Boys 二分图 最大独立集 字符串
下一篇: HDU 1856 More is better 并查集 路径压缩
lulipeng_cpp
博客等级 码龄15年 169粉丝 130原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值