HDU-1232 并查集

HDU 1232 畅通工程 并查集入门经典 OJ题解 HDU1232 畅通工程一、背景简介二、题目描述Problem DescriptionInputOutputSample InputSample Output三、题解思路四、AC代码完整代码其他参考 一、背景简介 此题为并查集的经典例题,入门水准。如果想学习这个数据结构,一定要好好学习这个基础,模版可以背下来。题目来源为HDU 1232,具体链接为:http://acm.hdu.edu.cn/showproblem.php?pid=1232。 二、题目描述 Problem Description 某省调查城 阅读详情

简单的并查集小题。

再过两周就NOIP复赛了...

原来什么题都有0ms过的牛人!我的解法15ms

/*
 * HDU-1232 畅道工程
 * mike-w
 * 2011-10-21
 * ---------------
 * tag: MST? 并查集...
 */
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define SIZE 1111

int set[SIZE];

int mkset(int n)
{
	int i;
	for(i=0;i<=n;i++)
		set[i]=-1;
	return 0;
}

int find(int e)
{
	int node,root;
	node=e;
	while(set[node]>0)
		node=set[node];
	root=node;
	while(set[e]>0)
	{
		node=set[e];
		set[e]=root;
		e=node;
	}
	return root;
}

int merge(int e1, int e2)
{
	int r1=find(e1);
	int r2=find(e2);
	if(r1==r2) return 0;
	if(set[r1]>set[r2])
		set[r1]=r2;
	else if(set[r1]<set[r2])
		set[r2]=r1;
	else
		set[r1]=r2,set[r2]--;
	return 1;
}

int main(void)
{
	int i,count,N,M,t1,t2;
#ifndef ONLINE_JUDGE
	freopen("t.in","r",stdin);
#endif
	while(scanf("%d%d",&N,&M)!=EOF && N)
	{
		count=N-1;
		mkset(N);
		for(i=0;i<M;i++)
		{
			scanf("%d%d",&t1,&t2);
			if(merge(t1,t2))
				count--;
		}
		printf("%d\n",count);
	}
	return 0;
}




 

Android AudioFlinger(一)——初识AndroidAudio Flinger AudioFlinger 是 Android 系统中的音频中间层(audio HAL, Audio Hardware Abstraction Layer)的一部分,负责管理音频的混音、播放和音量控制等功能。它充当 Android 应用程序和音频硬件之间的桥梁。 阅读详情

相关推荐

Keras中LSTM输入数据重塑与预处理实战指南

LSTM(长短期记忆网络)作为循环神经网络的重要变体,在时间序列建模中发挥着关键作用。其核心原理是通过门控机制学习长期依赖关系,而输入数据的正确重塑是实现这一功能的基础。在Keras框架中,LSTM要求输入数据必须组织成(samples, timesteps, features)的三维张量结构,这与传统全连接网络的处理方式截然不同。从工程实践角度看,合理的数据预处理能显著提升模型性能,特别是在处理温度预测、股票价格分析等时间序列任务时。常见的数据源如CSV文件、图像序列等都需要特定的转换方法,包括使用Tim

weixin_42300144的博客 305

【并查集】HDU 1232 畅通工程

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

L_X_ 134

airodump-ng、aircrack-ng使用教程

wifi破解、airodump-ng、aircrack-ng脚本

ssmbyss的博客 2231

hdu1232 畅通工程[并查集]

目录 题目地址 题干 代码和解释 参考 题目地址 hdu1232 题干 代码和解释 本题是典型的并查集,用于查找两个元素是否在同一个集合中。(可以抽象为两个节点是否有相同的根) 具体的并查集的学习请看“参考”一栏的博客,写得非常生动易懂。 题目思路是一开始...

afu42832的博客 137

用VSCode搭建Vue.js开发环境及Vue.js第一个应用

用VSCode搭建Vue.js开发环境及Vue.js第一个应用

m0_61961937的博客 1万+

find命令

命令是 Linux/Unix 系统中用于搜索文件和目录的强大工具,支持多种搜索条件组合,并能对搜索结果执行各种操作。以下是其详细说明、常用参数及示例: 搜索路径:指定起始目录(如 、 或 表示当前目录)。 查找条件:基于文件名、类型、大小、时间等属性过滤。 处理动作:对匹配结果执行操作(如打印、删除、执行命令等)。 常用参数及示例 1. 按名称查找 :区分大小写匹配文件名。 :不区分大小写匹配文件名。 2. 按文件类型查找 :指定文件类型。 文件类型: :普通文件 :目录 :符号链接

qiao2458的博客 1134

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

人脸关键点定义汇总

前几天看一份代码临时需要找49个人脸关键点位置定义的图片发现怎么百度都搜不到,最后幸好谷歌可以使用了就用谷歌搜到了。所以在这里汇总一下我所知道的人脸关键点的定义和相关的一点东西,以备不时之需。 68个关键点 最常用的工具是Dlib,网址:http://dlib.net/ dlib的68个特征点检测算法是ERT算法【1】 使用dlib检测68个特征点的python示例见:http://dlib.n...

程序媛 7642

【并查集】模板 + 【HDU 1213、HDU 1232、POJ 2236、POJ 1703】例题详解

不想看模板,想直接看题目的请戳下面目录: 目录: HDU 1213 How Many Tables【传送门】 HDU 1232 畅通工程 【传送门】 POJ 2236 Wireless Network 【传送门】 POJ 1703 Find them, Catch them 【传送门】 先上模板: #define MAXN 根据编号需要 int per[MAXN],rank[MAX...

lesileqin的博客 283

Yolov5 多边形标签转换,所有json文件自动转成txt格式[详细过程]

注:labelme是麻省理工(MIT)的计算机科学和人工智能实验室(CSAIL)研发的图像标注工具,人们可以使用该工具创建定制化标注任务或执行图像标注,项目源代码已经开源。通过labelme对图进行标注后,得到的是json文件,而Yolov5对数据进行模型构建的时候,读取需要的是txt格式的文件。txt_outer_path——保存txt文本的文件夹的绝对路径。json_name——json_name是json文本的名字。json_floder——读取json的文件夹的绝对路径。

Pandas_007的博客 1万+

思维链:让AI更接近人类思维的技术

本文将探讨一种名为“思维链”的技术,它旨在让AI更接近人类思维。文章首先介绍了问题背景与核心概念,接着讲解了算法原理和数学模型,随后阐述了系统分析与架构设计,最后通过项目实战展示了思维链的实际应用,并提供了最佳实践和小结。思维链是一种旨在模拟人类思维过程的技术,它通过构建一系列相互关联的思维方式,实现对复杂问题的分析和解决。思维链算法是一种基于人类思维过程的人工智能算法,它通过构建一系列思维链,实现对问题的分析和解决。智能问答系统是一种常见的人工智能应用,它能够回答用户提出的各种问题。

AI天才研究院 942

专题四 图论: 并查集(HDU 1232)

HDU 1232 http://acm.hdu.edu.cn/showproblem.php?pid=1232 题意 模板题,求连通这几个相互孤立的城镇群至少要多少条路。 思路 觉得并查集想法很新奇。 a[i]存储的内容表示i属于哪个节点之下(差不多是被哪个大哥罩着的意思) 初始的时候是自己,然后更新,最后看a[i]存储的还是i的个数有几个,就有几个相互独立的集合了。 答案即为集合的个数减1 代码...

Authur_gyc 213

升级最新IDEA版本(2022.1.1)

升级最新IDEA版本(2022.1.1)

软件老王 3万+

HDU1232——通畅工程(并查集)

http://acm.hdu.edu.cn/showproblem.php?pid=1232 这道题是学习并查集的第一道题。 并查集,他的思路是构成一个树结构,如果这两个节点的根节点相同,那么说明这两个节点在一个集合里,否则不再一个集合。 查找根节点:当然是递归查找他上一层的父节点是什么。知道查找到的节点的父节点是他本身为止。 int find(int x) { ...

aozhe0658的博客 168

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

精雕软件(JDpaint) 5.5 绿色版

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

算法训练 - HDU1232-畅通工程[并查集入门]

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

ଳxin的博客 251

温度PID控制PLC程序

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

码说 | 并查集(以HDU1232为例)

码说 | 并查集(以HDU1232为例)欢迎大家关注Zane's平行光工作坊并查集题目如下题意概括解题思路并查方法具体代码题毕 欢迎大家关注Zane’s平行光工作坊 这是Zane第一次使用 Markdown编辑器发表优快云博客来记录自己的代码学习,还请各位多多指教。言归正传,请看才学到的并查集(以HDU1232为例)。 并查集 顾名思义,“合并”和“查找”。这说明,初始时并差集中的元素是不相交的...

ParallelLight 277

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

畅通工程(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

HDU1232(简单并查集)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232 package D0802; //简单的单纯并查集问题 import java.io.*; public class HDU1232 { static int[] set = new int[1008]; static int[] height = new int[1008]

lhfight的专栏 536

并查集详解(HDU 1232通畅工程)

并查集(集合的合并与查找)         在一些有N个元素的集合合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。(摘自百度百科)        其中主要有三个函数:Init();初始化一个并查集,主要是根据题目需要建立一个原始的点集,因为还没有处理点与点的关系,初始化每个点的父亲结点为本身。

QQ_2777541176的博客 556

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

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

紫藤&code的博客 182

HDU 1232 并查集 (入门)

简单的并查集入门

Kerwun的博客 498

并查集入门(hdu1232“畅通工程”)

在学习并查集之前,首先需要明白基本的并查集可以完成的功能。并查集主要是用于处理不相交集合的合并问题。它是一种基础算法,在离散数学中,可以利用并查集求一个图的连通分支,利用其这个特性可以为我们解决一系列的问题,例如hdu1232"畅通工程"等等。在这里便利用这道题理解并查集的基本知识。 在讲解题目之前,先了解一下并查集。并查集就是将一系列的元素根据题中所给的相关关系,将它们分成一个个互不...

awli5131的博客 245

并查集--hdu1232(基本模板题)

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

Sly_461的博客 499

HDU1232 畅通工程【并查集】

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

aaaaawyf的博客 254

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

【并查集】-HDU1232-畅通工程

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232点击打开链接 题目描述:再添加多少条连接能使所有不相交集合相交。 解题思路:和那道化成多少堆的最水题一个道理,然后有N个集合的话,添加N-1条线就能把他们全连起来。 AC代码: #include #include int arr[1050]; int find(int x) {

邂逅黛玛姑娘 738
上一篇: HDU-1068 最大独立集
下一篇: HDU-1047 高精度加法
creativewang
博客等级 码龄17年 20粉丝 203原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值