第十一章:图论part06 108.冗余连接 109.冗余连接II (补)

server/2024/10/16 2:24:33/

任务日期:7.31

题目一链接:108. 冗余连接 (kamacoder.com)

思路:从前到后遍历边,如果当前两个点不在一个集合就使他们加入到一个集合,构成树,如果位于一个集合则输出他们,因为如果把他们加入就会形成环

代码:

#include <bits/stdc++.h> 
using namespace std;
std::vector<int> father(1010,0);//按照节点大小范围定义数组
int n;void unit() {for(int i = 0;i < n;i ++) {father[i] = i;}
}int find(int u) {//寻找u的根节点return u == father[u] ? u : find(father[u]);//压缩距离:递归到下一层
}void joint(int u,int v) {u = find(u);//这样节约空间不用重新定义新变量v = find(v);if(u == v) return;else father[v] = u;
}bool issame(int u,int v) {u = find(u);v = find(v);return u == v;//bool函数可以返回true或者false
}int main() {cin>>n;unit();for(int i = 0;i < n;i ++) {int s,t;cin>>s>>t;if(issame(s,t)) {//如果两个节点在一个集合cout<<s<<" "<<t;return 0;//从前往后找第一组符合条件的数据就是答案}else joint(s,t);//不在一个集合那么就使加入到一个集合以组成树}
}

难点:

解释细节1:




题目二链接:

思路:

代码:

难点:

解释细节1:




题目三链接:

思路:

代码:

难点:

解释细节1:


http://www.ppmy.cn/server/100941.html

相关文章

【STM32 Blue Pill编程】-STM32CubeIDE开发环境搭建与点亮LED

开发环境搭建与点亮LED 文章目录 开发环境搭建与点亮LED1、STM32F103C8T6及STM32 Blue Pill 介绍2、下载并安装STM32CubeIDE3、编程并点亮LED3.1 在Stm32CubeIDE中编写第一个STM32程序3.1.1 创建项目3.1.2 设备配置3.1.2.1 系统时钟配置3.1.2.2 系统调试配置3.1.2.3 GPIO配置3.…

代码随想录算法训练营第 45 天 |LeetCode 115.不同的子序列 LeetCode583. 两个字符串的删除操作 LeetCode72. 编辑距离

代码随想录算法训练营 Day45 代码随想录算法训练营第 45 天 |LeetCode 115.不同的子序列 LeetCode583. 两个字符串的删除操作 LeetCode72. 编辑距离 目录 代码随想录算法训练营前言LeetCode 115.不同的子序列LeetCode583. 两个字符串的删除操作LeetCode72. 编辑距离 一、Leet…

Java填充PDF并返回填充后PDF文件及对应base64码

前期准备 下载PDF编辑工具&#xff08;Adobe Acrobat 9 Pro&#xff09;&#xff1a; 可以主页关注小程序【白哥Java】回复【PDF编辑软件】即可获取 或者直接联系博主也可 主页如下&#xff1a; 软件使用流程 此处流程为文本域流程 图片或其他大致相同 生成模板PDF样式如下&…

Node.js、npm和ng之间的关系

一、Node.js 定义&#xff1a;Node.js是一个开源的、跨平台的JavaScript运行环境&#xff0c;它允许开发者在服务器端运行JavaScript代码。Node.js基于Chrome V8引擎&#xff0c;提供高性能和非阻塞I/O&#xff08;输入输出&#xff09;操作。功能&#xff1a;Node.js主要用于…

JSON与EXL文件互转

功能&#xff1a;实现json到excel文件的相互转换(支持json多选版) 目的&#xff1a;编码与语言对应&#xff0c;方便大家使用 页面设计&#xff1a; 介绍&#xff1a; 1.选择文件栏目选择想要转换的文件 2.生成路径是转换后文件所在目录 3.小方框勾选与不勾选分别代表exl到…

【C++11】右值引用的深度解析(什么是右值引用?它有什么作用?能应用在那些场景?)

目录 一、前言 二 、什么是左值什么是右值&#xff1f; &#x1f525;左值&#x1f525; &#x1f525;右值 &#x1f525; 三、什么是右值引用&#xff1f; &#x1f4a7;左右引用的“引出”&#x1f4a7; &#x1f4a7;左值引用 &#x1f4a7; &#x1f4a7;右值引用…

无人机里的陀螺仪/加速器/气压计/GPS详解

陀螺仪 是一种用于测量和控制无人机姿态的重要传感器。它通过检测无人机的旋转运动来提供准确的方向和角度信息。 加速度计 用于提供无人机在XYZ三轴方向所承受的加速力。它也能决定无人机在静止状态时的倾斜角度。 气压计 通过测量大气压力来估算无人机的高度。随着高度的…

CPU飙升 怎么定位问题

传统的方法 【top】 查看所有进程占系统CPU的排序&#xff0c;定位是哪个进程搞的鬼。PID那一列就是进程号。 【top -Hp pid】 定位进程中使用 CPU 最高的线程tid 【printf ‘0x%x’ tid】 线程 tid 转化 16 进制,例如printf ‘0x%x’ 11882 得到16进制的 0x2e6a 【jstack…