HDU 1272 小希的迷宫 并查集

HDU1272 - 小希的迷宫 并查集检测无向图的环 HDU1272 - 小希的迷宫 利用并查集检测无向图的环 阅读详情
题意
给出一个图,问这个图是否是一棵树
思路
首先判断这个图有没有环,这个直接用并查集就可以判断,为此我改进了并查集的模板,然后就是判断这个图是不是一片森林,这个需要记录下有多少个点,如果有n个点,有n-1条边就是一棵树
传送门

http://acm.hdu.edu.cn/showproblem.php?pid=1272

Code
#include <cstdio>
#include <cstring>
#include <iostream>

using namespace std;

class UnionFind {
private:
    int * fa;
    int size;
public: 
    UnionFind(int n) {
        size = n;
        fa = new int[n+1];
        Init();
    }

    ~UnionFind() {
        delete[] fa;
    }

    void Init() {
        for(int i = 1 ; i <= size ; i ++) {
            fa[i] = i;
        }
    }

    int Find(int x) {
        if(fa[x] != x) {
            fa[x] = Find(fa[x]);
        }
        return fa[x];
    }

    bool Union(int x,int y) {
        int fx = Find(x);
        int fy = Find(y);
        if(fx != fy) {
            fa[fx] = fy;
            return true;
        }
        else {
            return false;
        }
    }

    int GetCount() {
        int count = 0;
        for(int i = 1 ; i <= size ; i ++) {
            if(fa[i] == i) {
                count ++;
            }
        }
        return count;
    }
};

const int maxn = 100000;

bool vis[maxn+1];

int main() {
    int u,v;
    bool ret;
    UnionFind uf(maxn);
    while(scanf("%d %d",&u,&v)) {
        if(u == -1 && v == -1) {
            break;
        }

        if(u == 0 && v == 0) {
            puts("Yes");
            continue;
        }

        memset(vis,0,sizeof(vis));
        ret = true;
        int cnt = 0;
        uf.Init();
        uf.Union(u,v);
        vis[u] = true; vis[v] = true;

        while(scanf("%d %d",&u,&v)) {
            if(u == 0 && v == 0) {
                break;
            }
            vis[u] = true; vis[v] = true;
            if(false == uf.Union(u,v)) {
                ret = false;
            }
        }

        for(int i = 1 ; i <= maxn ; i++) {
            if(vis[i]) {
                cnt ++;
            }
        }

        if(true == ret && uf.GetCount() + cnt - 1 == maxn) {
            puts("Yes");
        }
        else {
            puts("No");
        }
    }
    return 0;
}
C#+Winform+OpenCvSharp实战:5步搞定工业视觉检测框架(附源码下载) 本文详细介绍了如何使用C#、Winform和OpenCvSharp构建工业视觉检测框架,通过5个关键步骤实现高效、稳定的视觉检测系统。内容涵盖环境配置、相机集成、核心算法实现、系统集成与通信,以及部署优化,帮助开发者快速掌握工业视觉检测技术,提升检测精度和效率。附完整源码下载,助力工业数字化转型。 阅读详情

相关推荐

Verilog实现SPI通信协议驱动设计

线性序列机实现SPI协议

H19981118的博客 6084

HDU 1272 小希的迷宫(并查集)

HDU 1272 小希的迷宫 https://vjudge.net/problem/HDU-1272 思路: 1.不能有环 2.所有点之间都要连通 我们可以用并查集,没有环并且只有一个集合(祖先)。 Code: #include <iostream> #include <cstdio> using namespace std; const int maxn = 1e5 +...

NaNa 266

深入SVT SPI VIP配置:如何灵活控制CS间隔、数据帧大小与时钟频率(含代码片段)

本文深入探讨了SVT SPI VIP的高级配置技巧,包括精确控制CS信号间隔、突破数据帧大小限制以及动态时钟频率切换。通过实战代码片段和详细配置步骤,帮助验证工程师灵活应对复杂SPI协议验证场景,提升验证效率和覆盖率。特别适合需要处理非标准SPI时序和特殊数据帧的芯片验证项目。

weixin_27014595的博客 280

hdu 1272 小希的迷宫(并查集)

hdu 1272 小希的迷宫 http://acm.hdu.edu.cn/showproblem.php?pid=1272 ProblemDescription 上次Gardon的迷宫城堡小希玩了很久(见ProblemB),现在她也想设计一个迷宫让Gardon来走。但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个通道连通了房间A和...

diansitao5461的博客 171

WSL2安装(详细过程)

适用于 Linux 的 windows 子系统允许开发人员直接在 Windows 上运行 GNU/Linux 环境 -- 包括大多数命令行工具、实用程序和应用程序,无需修改,而无需传统虚拟机或dualbot设置的开销。

qq_43636384的博客 3万+

Unreal5从入门到精通之如何录制360°VR全景视频

摘要:本文详细介绍了使用虚幻引擎(UE)生成360°全景视频的完整流程。首先需启用MovieRender Queue和Panoramic Capture插件,准备场景并设置相机序列。通过影片渲染队列选择8K分辨率输出PNG序列帧,利用ffmpeg工具转换为MP4格式,最终获得高精度全景视频。该方法适用于VR内容开发,能以较低性能消耗实现影院级画质,特别适合冥想类应用场景。教程涵盖从插件配置到后期合成的全链路操作,为开发者提供高效的全景内容生产解决方案。(150字)

TxNet 1401

HDU 1272 小希的迷宫 【并查集+判无向无环连通图】

HDU 1272 小希的迷宫 题目链接:vjudge传送门 具体思路: 做过Is It A Tree后就知道,这题比它简单点,只需要把判断入度的条件去掉,感兴趣的这里是题解 这题具体是用并查集维护 新加入一条边时,判断两点是否同一集合 是,则构成有环图,不满足 否,则将两点加入同一集合中 最后判断一下是否是空图(满足),或者非连通图(不满足),即可 具体代码: #include<iostre...

指弹键盘哼民谣 525

【Zabbix实战之部署篇】Docker部署Zabbix+grafana监控平台

【Zabbix实战之部署篇】docker部署Zabbix+grafana监控平台

jks212454的博客 2577

HDU 1272小希的迷宫 并查集

一、内容 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走。但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个通道连通了房间A和B,那么既可以通过它从房间A走到房间B,也可以通过它从房间B走到房间A,为了提高难度,小希希望任意两个房间有且仅有一条路径可以相通(除非走了回头路)。小希现在把她的设计图给你,让你...

Tizzi的博客 805

基于YOLOv5的仪表读数识别系统:从检测到识别的完整解决方案

随着工业自动化水平的不断提高,仪表读数识别技术在电力系统、石油化工、智能制造等领域发挥着越来越重要的作用。本文提出了一种基于YOLOv5的仪表自动读数识别系统,该系统能够有效区分指针式和数字式仪表,并实现高精度的读数识别。我们详细介绍了系统的整体架构、数据集构建、模型训练策略以及用户界面设计,并提供了完整的代码实现。实验结果表明,本系统在仪表检测和读数识别任务上均取得了优异的表现,为工业现场的自动化监控提供了可靠的技术支持。关键词:仪表读数识别;YOLOv5;目标检测;深度学习;工业自动化。

YOLO 676

CAN(2)-GD32

GD32中CAN的特征。

小柚子的博客 552

HDU1272 小希的迷宫 - 并查集

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1272输入需要注意下,其次用set<>集合处理较方便/* HDU1272 小希的迷宫 http://acm.hdu.edu.cn/showproblem.php?pid=1272 */ #include <iostream> #include <stdio.h> #include <algorit

master-dragon的专栏 682

大厂硬件笔试机试题ASIC设计方向-卷3

本文提供了30道硬件工程师机试题目,涵盖数字逻辑、模拟电路、CMOS和信号处理等核心领域。选择题和判断题均配有详细解析,重点考察Verilog编程、CMOS特性、触发器设计、采样定理等知识点。题目难度适中但覆盖面广,如Verilog中阻塞/非阻塞赋值的区别、CMOS静态功耗来源、Nyquist采样定理、通用逻辑门判断等。备考建议强调掌握逻辑门设计、Verilog时序电路编写和CMOS特性理解。这些题目反映了华为等大厂硬件机试的典型考查内容,通过系统复习可有效提升机试成绩,为后续面试奠定基础。

启芯硬件的博客 541

【并查集】 HDU 1272 小希的迷宫

HDU 1272 小希的迷宫 http://acm.hdu.edu.cn/showproblem.php?pid=1272

Reluxer 512

ssm框架搭建

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

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

HDU 1272 小希的迷宫【并查集】

小希的迷宫 Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others) Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走。但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通...

独钓门前月 1185

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

HDU1272 小希的迷宫【并查集】

问题链接:HDU1272 小希的迷宫 Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走。但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个通道连通了房间A和B,那么既可以通过它从房间A走到房间B,也可以通过它从房间B走到房间A,为了提高难度,小希希望任...

aaaaawyf的博客 353

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

ACM-并查集之小希的迷宫——hdu1272

ACM 并查集 小希的迷宫 hdu1272

继续激情,继续奋斗。 2221

[HDU1272]小希的迷宫[并查集]

题目链接:[HDU1272]小希的迷宫[并查集] 题意分析:小希的迷宫需要满足:1.每条路之间都是联通的;2.地图中不能出现回路。只要满足上述条件就输出『Yes』,否则『No』。 解题思路:赤裸裸的并查集- -。注意坑点:有可能给出多个不联通的地图集合,所以在输出结果前要判断一下是否有多个地图集合。 个人感受:坑坑的我没有发现有多个集合这种事情TAT 具体代码如下:#include #i

闲停 567

HDU1272 小希的迷宫 【并查集】

小希的迷宫 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 23829    Accepted Submission(s): 7314 Problem Description 上次Gardon的迷宫城堡小希玩了很久

长风的专栏 1092

HDU 1272 小希的迷宫 并查集

Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走。但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个通道连通了房间A和B,那么既可以通过它从房间A走到房间B,也可以通过它从房间B走到房间A,为了提高难度,小希希望任意两个房间有且仅有一条路径可以相通(除非走了回头路

旧时光 947

hdu 1272 小希的迷宫 并查集

小希的迷宫 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 30894    Accepted Submission(s): 9560 Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Pr

01的世界 340

HDU - 1272  小希的迷宫 (并查集判断是否存在环)

小希的迷宫  HDU - 1272  解题思路:并查集判断是否有环,坑点,图有可能分为多个部分,并且当出现0,0时为yes #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;vector&gt; #include&lt;algorithm&gt; #include&lt;cstring&gt; using namespa...

1999 178

hdu 1272 小希的迷宫 【并查集】

小希的迷宫 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 54397    Accepted Submission(s): 17073 Problem Description 上次Gardon的迷宫城堡小希玩了很

ACM_e的博客 345

HDU 1272 小希的迷宫——并查集

传送门 Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走。但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个通道连通了房间A和B,那么既可以通过它从房间A走到房间B,也可以通过它从房间B走到房间A,为了提高难度,小希希望任意两个房间有且仅有一条路径可以相通(除非走了回头路)。小希现在把她的设计图给你,让你帮忙判断她的设计图是否符合她的设计思路。比如下面的例子,前两个是符合条件的,

lllllan 190

HDU 1272 小希的迷宫(并查集,判断是否成环)

小希的迷宫 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 41583    Accepted Submission(s): 12822 Problem Description 上次Gardon的迷宫城堡小希玩了很

AC_Dreameng 3879
上一篇: HDU 1213 How Many Tables 并查集
下一篇: HDU 1325 Is It A Tree?
_NMfloat_
博客等级 码龄12年 7粉丝 315原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值