【hdu 1232】 畅通工程

HDU 1232 畅通工程 并查集入门经典 OJ题解 HDU1232 畅通工程一、背景简介二、题目描述Problem DescriptionInputOutputSample InputSample Output三、题解思路四、AC代码完整代码其他参考 一、背景简介 此题为并查集的经典例题,入门水准。如果想学习这个数据结构,一定要好好学习这个基础,模版可以背下来。题目来源为HDU 1232,具体链接为:http://acm.hdu.edu.cn/showproblem.php?pid=1232。 二、题目描述 Problem Description 某省调查城 阅读详情
Problem Description
某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?
 

Input
测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M;随后的M行对应M条道路,每行给出一对正整数,分别是该条道路直接连通的两个城镇的编号。为简单起见,城镇从1到N编号。
注意:两个城市之间可以有多条道路相通,也就是说
3 3
1 2
1 2
2 1
这种输入也是合法的
当N为0时,输入结束,该用例不被处理。

 

Output
对每个测试用例,在1行里输出最少还需要建设的道路数目。
 

Sample Input
4 2 1 3 4 3 3 3 1 2 1 3 2 3 5 2 1 2 3 5 999 0 0
 

Sample Output
1 0 2 998
Hint
Hint
Huge input, scanf is recommended.
 

这道题是一个并查集,只要求出最后有多少种不同的祖先节点就可以了,下面是程序:
#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
inline int read(){
	char c=getchar();
	int s=0;
	while(c<'0'||c>'9'){
		c=getchar();
	}
	while(c>='0'&&c<='9'){
		s*=10;
		s+=c-'0';
		c=getchar();
	}
	return s;
}
int f[1005];
int findf(int u){
	return f[u]=(f[u]==u?f[u]:findf(f[u]));
}
int main(){
	int n,m,u,v;
	while(n=read()){
		m=read();
		for(u=1;u<=n;u++){
			f[u]=u;
		}
		while(m--){
			u=read();
			v=read();
			int x=findf(u),y=findf(v);
			if(x!=y){
				f[x]=y;
			}
		}
		for(u=1;u<=n;u++){
			f[u]=findf(u);
		}
		sort(f+1,f+n+1);
		for(u=1,v=0;u<=n;u++){
			v+=(f[u]!=f[u-1]);
		}
		printf("%d\n",v-1);
	}
	return 0;
}

Robocopy 参数进阶:/MIR 镜像同步与 /PURGE 删除操作的风险规避指南 本文深入解析Robocopy的/MIR镜像同步与/PURGE删除操作的高级用法及风险规避策略。通过实际案例和四重防护机制,指导用户安全实现目录同步,避免数据丢失风险,特别适用于远程主机间的数据复制与备份场景。 阅读详情

相关推荐

自动驾驶入门到进阶完整指南:感知、预测、规划、端到端、仿真测评与场景挖掘全解析

对小白来说,不建议一开始直接冲端到端大模型。先学数据和坐标系:否则所有结果都看不懂。再学 LiDAR 3D 检测:最容易建立空间感。再学 BEV/多相机感知:这是当前主流。再学轨迹预测:理解交互和多模态。再学规划控制:理解车为什么这样开。再学仿真和闭环评测:理解 open-loop 和 closed-loop 差异。最后学端到端/VLM/VLA:这时候你才知道它到底替代了哪些模块。贯穿始终学习场景挖掘和安全测评:这是工业界最核心的能力之一。

u013250861的博客 394

hdu 1232 畅通工程

hdu 1232 畅通工程题意题解源代码 传送门 题意 给定n个村子,和村子之间的道路,求连接所有的村子至少需要再修多少条道路 题解 互相连通的村子可以看成一个集合,一个点,现在需要求把这这些集合(点)连接起来 需要多少条线,由树的概念就可以看出来,边数等于点数-1,相当于求集合的数目, 可以用并查集解决 源代码 #include<cstdio> const int maxn = ...

antRain的博客 167

如何让 RTX 5090 开启 PCIE P2P 以加速多卡通信

RTX 5090 基于新的 Blackwell 架构。NVIDIA 出于对某些主板兼容性(如 IOMMU、Resizable BAR 策略)的保守考虑,**屏蔽了 5090 的 BAR1 P2P 功能**。 我们需要通过 Patch 驱动源码,强制开启这一隐藏功能。 开启 P2P 后,PyTorch 的集合通信算子(Multi-GPU 训练的核心)延迟显著降低,**All-Reduce 甚至降低了 60% 以上**。

Hi20240217的博客 1737

hdu1232畅通工程

HDU1232畅通工程 Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? Input 测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < ...

小麦面包 480

开关电源的纹波和噪声电压-抑制方法

开关电源(包括AC/DC转换器、DC/DC转换器、AC/DC模块和DC/DC模块)与线性电源相比较,最突出的优点是转换效率高,一般可达80%~85%,高的可达90%~97%;其次,开关电源采用高频变压器替代了笨重的工频变压器,不仅重量减轻,体积也减小了,因此应用范围越来越广。 但开关电源的缺点是由于其开关管工作于高频开关状态,输出的纹波和噪声电压较大,一般为输出电压的1%左右(低的为输出电压的0.5%左右),最好产品的纹波和噪声电压也有几十mV;而线性电源的调整管工作于线性状态,无纹波电压,输出的噪声电压也

ltqdxl的博客 1万+

深入解析数据通信中的码元速率与比特率:从基础到实战应用

本文深入解析了数据通信中的核心概念码元速率与比特率,通过生动的比喻和公式(比特率=波特率×log₂(M))揭示其本质关系。文章结合BPSK、QPSK、16QAM等调制技术,剖析了从4G/5G到LoRa等实战场景中如何权衡速率、距离与可靠性,并提供了软考真题解析与系统设计建议,帮助读者从理论到应用全面掌握数据速率优化。

weixin_29324877的博客 214

《HDU 1232 - 畅通工程》的题解

《D - 畅通工程》的题解 题目的描述 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? Input 测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M...

weixin_46163391的博客 516

告别配置迷茫:手把手教你用Vivado 2023.1配置Xilinx FPGA的DDR4 MIG IP核(含AXI接口详解)

本文详细介绍了如何在Vivado 2023.1中配置Xilinx FPGA的DDR4 MIG IP核,包括AXI接口的深度解析与优化。通过实战案例和调试技巧,帮助工程师快速掌握DDR4内存与FPGA的协同工作,提升系统性能。特别适合需要高性能计算和实时信号处理的开发者。

weixin_29231725的博客 440

hdu1232-畅通工程

畅通工程 我都不知道该怎么形容我最近的状态了,刷水题狂卡,这个题目也是一样,输入n,居然忘了排除n=0 // File Name: hdu1232.cpp // Author: rudolf // Created Time: 2013年04月25日 星期四 19时42分58秒 #include #include #include #include #include #includ

bo-jwolf的专栏 1044

37.华为路由器:loopback(本地回环)接口的作用

本地环回接口(或地址),亦称回送地址(loopback address)。 此类接口是应用最为广泛的一种虚接口,几乎在每台路由器上都会使用。常见于如下用途: 1 作为一台路由器的管理地址 系统管理员完成网络规划之后,为了方便管理,会为每一台路由器创建一个loopback 接口,并在该接口上单独指定一个IP 地址作为管理地址 ,管理员会使用该地址对路由器远程登录(telnet ),该地址实际上起到了类似设备名称一类的功能。 但是通常每台路由器上存在众多接口和地址,为何不从当中随便挑选一个呢 ? 原因如下:由于

迷逝 3万+

中国土地市场网爬取

实习期间老板需要对土地数据进行爬取,想来想去就Google到了.应该算是种类最齐全的土地数据了。Github地址:https://github.com/AnTi-anti/china_land/tree/master。

猫敷雪 5462

HDU1232 畅通工程【并查集】

问题链接:HDU1232 畅通工程 Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?     Input 测试输入包含若干测试用例。...

aaaaawyf的博客 254

【蓝凌表单】JSP组件常用语法整理

【代码】【蓝凌表单】JSP组件常用语法整理。

烧硬盘 710

2020寒假集训专题三 HDU - 1232 畅通工程

HDU - 1232 畅通工程题解 原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232 专题链接:https://vjudge.net/contest/351234#problem/H 思路 题意要求出保证每个城镇“通路”的前提下的最小待建路数,我们只要将原本就存在的路尽可能地纳入我们的最终企划中,再用城镇数-1再减去纳入规划中的原有路数即可。...

bllovepigpig的博客 153

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【并查集】HDU 1232 畅通工程

HDU 1232 畅通工程 #include <iostream> #include <cstdio> #include <algorithm> #include <queue> #include <cmath> #include <cstring> #include <string> #include <v...

L_X_ 134

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

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

hdu 1232 畅通工程

hdu  1232  畅通工程                题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232 并查集 题目分析:重点在这个水爆了的算法 code: #include #include int father[1010]; int _find(int a) { while(father[a]!=-1)a=father[a

slicer的技术交流栈 759

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

hdu 1232 畅通工程【并查集】【模板题】

hdu 1232 畅通工程  #include&lt;iostream&gt; #include&lt;string.h&gt; using namespace std; int pre[1005]; int find (int x) { int r=x; while(pre[r]!=r) r=pre[r]; int i=x; int j; while(i!=r) { ...

不甘 289

hdu 1232 畅通工程(并查集)

hdu 1232 畅通工程 http://acm.hdu.edu.cn/showproblem.php?pid=1232 ProblemDescription 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需...

diansitao5461的博客 77

HDU-1232 畅通工程

HDU-1232 畅通工程 链接添加链接描述 分析: 1.运用了并查集的思想,将互相连通的城镇看成一个集合,建设a与b之间的一条道路就是把a所在的集合与b所在的集合进行合并。 2.使用find函数进行路径压缩,使得代码更加高效。 3.将所有集合都看成一个点,则易得使n个点(城镇集合)全部连通所需要最少的边(道路)为n-1条. 代码 #include<bits/stdc++.h> using namespace std; int fa[1010]; //fa[r]代表r的父节点 int find

qq_55788088的博客 184

hdu1232详解 畅通工程

题目链接:hdu1232畅通工程这一题是并查集的题,关键就是找出根结点的数目,下面附上详细的代码和注释讲解:(注释中  祖先=根节点)#include&lt;bits/stdc++.h&gt; int m,n,pre[1010],rank[1010];//pre数组存关系(pre[a]==b表示a的父亲是b),rank数组存树上有多少节点(rank[i]==j表示根节点为i的树上有j个节点) v...

Ruhe_king的博客 1358

畅通工程(HDU 1232)经典并查集

#include <bits/stdc++.h> using namespace std; const int N = 1005; int table[N]; int findt(int x){ if(table[x]==-1){ return x; } table[x]=findt(table[x]); return table[x]; } void merge(int a, int b){ int ta=findt(a); int tb=findt(b); if(t

征服所有不服的博客 162

HDU 1232 畅通工程 [并查集]

Description给N个城市,再给出M条关系,表示两者是否连通 问 再修几条路,使他们全部连通Algorithm并查集 并一下,看最后有几个集合,那个-1就是ansCodeimport java.util.Scanner;class UnionFind { int n; int[] par; int[] rank; UnionFind(int nn) { n = n

more time 535

HDU-1232.畅通工程(并查集)

HDU-1232.畅通工程 Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? Input 测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( &lt...

紫藤&code的博客 182

【并查集】HDU 1232 畅通工程

题目链接-&gt;http://acm.hdu.edu.cn/showproblem.php?pid=1232 HDU 1232   畅通工程                                                                                  畅通工程 Time Limit: 4000/2000 MS (Java/Others) ...

荷叶田田 428

hdu-1232-畅通工程

原文链接:hdu-1232-畅通工程原文:畅通工程Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 61539    Accepted Submission(s): 32963Problem Description某省调查城镇交通状况,得到现...

IT_xiaolaoshu的博客 392
上一篇: 【hdu 2066】 一个人的旅行
下一篇: 【hdu 1233】 还是畅通工程
TLECODE
博客等级 码龄9年 8粉丝 141原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值