当前位置: 首页 > article >正文

代码随想录算法训练营第五十四天|108.冗余连接、109.冗余连接II

题目链接108.冗余连接解题思路并查集具体思路首先定义全局变量 n 和长度为 1001 的父节点数组 father实现并查集核心函数find 带路径压缩的查找找到节点根节点并进行路径压缩降低查找耗时、init 初始化 0 到 n 的节点父节点为自身保证初始时每个节点独立成集、join 合并两个节点所在集合先查找两节点根节点若不同则将 v 的根节点父节点指向 u 的根节点、isSame 判断两节点是否同根即是否连通主函数中先读取边的数量 n调用 init 初始化父节点数组再循环 n 次读取每条边的两个端点 s 和 t先调用 isSame 判断 s 和 t 是否连通若连通则输出该边的 s 和 t说明这条边构成环若未连通则调用 join 合并 s 和 t 所在的集合。具体代码#includeiostream #includevector using namespace std; int n; vectorint father(1001, 0); int find (int u) { if (u father[u]) return u; else return father[u] find(father[u]); } void init() { for (int i 0; i n; i) father[i] i; } void join(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); if (u v) return true; else return false; } int main () { cin n; init(); for (int i 0; i n; i) { int s; int t; cin s t; if(isSame(s, t)) cout s t endl; else join(s, t); } }题目链接109.冗余连接II解题思路并查集具体思路首先实现并查集核心函数 find 带路径压缩找根节点、init 初始化父节点、join 合并集合、isSame 判断节点连通性定义辅助函数 isTreeAfterRemoveEdge验证删除指定索引的边后剩余边能否构成无环连通的树遍历除删除边外的所有边若合并时发现节点已连通则有环返回 false否则返回 true定义辅助函数 getRemoveEdge遍历所有边用并查集找到第一条使节点连通的成环边并输出主函数中先读取 n统计每个节点入度 inDegree、存储所有边首先统计每个节点的入度筛选出入度为 2 的节点对应的边并逆序记录其索引若存在这类边调用 isTreeAfterRemoveEdge 先尝试移除第一条该类边通过并查集验证移除后图是否满足树的条件所有节点连通且无环满足则输出该边否则输出第二条入度为 2 的边若不存在入度为 2 的边则调用 getRemoveEdge 直接遍历所有边利用并查集找到第一条导致环的边即两个节点已连通时试图合并的边该边即为需移除的边。具体代码#includeiostream #includevector using namespace std; int n; vectorint father(1001, 0); int find (int u) { if (u father[u]) return u; else return father[u] find(father[u]); } void init() { for (int i 0; i n; i) father[i] i; } void join(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); if (u v) return true; else return false; } bool isTreeAfterRemoveEdge(vectorvectorint edges, int deleteIndex) { init(); for (int i 0; i n; i) { if(i deleteIndex) continue; int u edges[i][0]; int v edges[i][1]; if (isSame(u, v)) return false; join(u, v); } return true; } void getRemoveEdge(vectorvectorint edges) { init(); for (int i 0; i n; i) { int u edges[i][0]; int v edges[i][1]; if (isSame(u, v)) { cout u v; return; } else { join(u, v); } } } int main () { cin n; vectorint inDegree(n 1, 0); vectorvectorint edges; for (int i 0; i n; i) { int s; int t; cin s t; inDegree[t]; edges.push_back({s, t}); } vectorint inDegree2; for (int i n - 1; i 0; i--) { if (inDegree[edges[i][1]] 2) inDegree2.push_back(i); } if (inDegree2.size() 0) { if (isTreeAfterRemoveEdge(edges, inDegree2[0])) { cout edges[inDegree2[0]][0] edges[inDegree2[0]][1]; } else { cout edges[inDegree2[1]][0] edges[inDegree2[1]][1]; } return 0; } getRemoveEdge(edges); }

相关文章:

代码随想录算法训练营第五十四天|108.冗余连接、109.冗余连接II

题目链接:108.冗余连接 解题思路:并查集 具体思路: 首先定义全局变量 n 和长度为 1001 的父节点数组 father,实现并查集核心函数,find 带路径压缩的查找,找到节点根节点并进行路径压缩,降低查…...

理解机器学习中监督学习,无监督学习和强化学习区别

在CDGA(数据治理工程师)的知识体系中,理解监督学习、无监督学习和强化学习,关键在于把握它们学习方式的差异——即模型从什么样的数据中、通过怎样的反馈来“学习”。简单来说,它们的核心区别在于是否有“标准答案”以…...

配电网最优潮流与二阶锥:解决配电网规划难题

配电网 最优潮流 二阶锥 最优潮流模型,用于解决配电网规划(DNP)问题。 数学优化模型,旨在找到基于给定参数和约束条件的最优配电网规划解决方案。 SOCPR方法用于处理问题中的非凸性,从而更容易找到大规模配电网的近似…...

永磁同步“发电机”双闭环控制模型(PLECS)仿真之旅

#永磁同步“发电机”双闭环控制模型(PLECS) PMSM永磁同步发电机仿真三电平(NPC)的矢量控制; 控制上采用电压外环,电流内环 三电平NPC逆变器以及SVPWM均为plecs自带模块; 仿真波形说明&#xff1…...

每日一题Day6(递归专栏---FBI数)

个人主页:小则又沐风 个人专栏:<数据结构> <竞赛专栏> <C语言> 今天我们将要学习地算法是递归. 提起来递归大家一定不会陌生,因为我们地二叉树 快速排序,归并排序.....都使用了递归.那么我们要怎么借助递归来解决问题呢? 我们来看使用递归地场景. 以我…...

计算机毕业设计springboot考察检测系统 基于SpringBoot的在线考试与成绩分析平台 基于SpringBoot的智能化教学测评管理系统

计算机毕业设计springboot考察检测系统l3bx04f5 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。随着信息技术的飞速发展和教育数字化转型的深入推进&#xff0c;传统的纸质考试与…...

计算机毕业设计springboot考公信息网的设计与实现 基于SpringBoot的公务员考试资讯服务平台的设计与实现

计算机毕业设计springboot考公信息网的设计与实现yv90rbrl &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。随着公务员招录规模的持续扩大和考试竞争的日益激烈&#xff0c;考生对…...

UROVAs 端到端自动驾驶模型训练、开闭环测试与上车联调

序言&#xff1a;为什么端到端训练方式如此革命性&#xff1f;因为它让AI自己学会开车&#xff0c;而不是靠人写规则。传统自动驾驶系统通常是“拼积木式”的&#xff1a;先做感知&#xff08;识别物体&#xff09;、再做定位&#xff08;知道我在哪&#xff09;、然后规划路径…...

电力变换控制技术的奇妙世界

级联H桥&#xff0c;级联H桥型statcom&#xff0c;APF&#xff0c;储能变换器&#xff0c;PCS&#xff0c;SVG&#xff0c;光伏并网逆变器&#xff0c;双闭环控制&#xff0c;自抗扰控制&#xff0c;无差控制&#xff0c;重复控制&#xff0c;载波移相调制&#xff0c;载波重叠…...

php方案 PHP 实现帧同步服务器 - 类王者荣耀的确定性帧同步逻辑(Lockstep)

直接说实话&#xff1a;PHP 不适合做帧同步服务器&#xff0c;原因是 PHP 传统模式每次请求都重启&#xff0c;没有常驻内存。但用 Swoole 可以让 PHP 常驻内存&#xff0c;完全可以做。---安装&#xff1a;composer require swoole/ide-helper # IDE提示# Swoole 需要编译安装…...

mw4agent---------agent时代的中间件

项目地址:mw4agent 仿照openclaw实现的python版本,主要用于学习agent中间件需要提供的能力....

Csimplecleaner:实测释放16G空间的C盘清理利器

对于长期使用电脑的用户来说&#xff0c;C盘空间不足是一个非常普遍的问题。 随着时间的推移&#xff0c;系统中会积累大量的临时文件、缓存数据、更新残留等垃圾文件&#xff0c;这些文件不仅占用宝贵的磁盘空间&#xff0c;还会拖慢系统运行速度&#xff0c;影响用户的使用体…...

java中乐观锁+事务在批量导入,批量审批案例的使用

一 背景需求描述1.1 需求描述我们将模拟一个“批量调整库存”的场景。多个线程&#xff08;或请求&#xff09;可能同时尝试修改同一批商品的库存。使用乐观锁可以避免使用 SELECT ... FOR UPDATE 带来的性能瓶颈和死锁风险。本案例这是一个不带重试机制的完整 Spring Boot MyB…...

【day54】

平面上有两个矩形&#xff0c;它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形&#xff0c;我们给出它的一对相对顶点的坐标&#xff0c;请你编程算出两个矩形的交的面积。#include<iostream> #include<iomanip> using namespace std; int main() {double a1x, …...

2026春季学期新教师会议上校长发言:带着热爱出发,多学习、多反思、多实践,在课堂中积累经验,在和学生的相处中感受教育的温暖

各位新教师朋友们&#xff1a; 大家好&#xff01; 春暖花开&#xff0c;万物萌新&#xff0c;在这充满希望的2026年春季学期&#xff0c;你们带着对教育的热爱和憧憬加入咱们学校的大家庭&#xff0c;为校园注入了新鲜的血液&#xff0c;我代表学校全体师生&#xff0c;向大家…...

【前沿解析】2026年3月15日:微软BitNet.cpp突破AI推理硬件枷锁——单CPU运行100B大模型,无损推理与能耗双重革新

摘要:本文深入解析微软2026年3月12日发布的BitNet.cpp开源框架,该框架首次实现单CPU流畅运行100B参数大模型,支持CPU/GPU无损推理,ARM/x86平台推理速度提升2.37-6.17倍,能耗降低71.9%-82.2%。文章涵盖1.58位量化原理、训练适配策略、系统架构设计,并提供完整的Go/Python代…...

ubuntu20.04编译LIO-SAM问题解决

gtsam&#xff1a;注意&#xff0c;和tbb都使用源码安装&#xff01;&#xff01;PPA安装会造成版本混乱&#xff0c;要选择oneAPI TBB # 克隆 oneTBB 仓库 git clone https://github.com/oneapi-src/oneTBB.git cd oneTBB# 创建构建目录并配置 mkdir build && cd bui…...

计算机毕业设计源码:Python旅游客流与舆情监测分析平台 Flask框架 可视化 旅游 出行 出游 大数据 大模型 数据分析 agent(建议收藏)✅

博主介绍&#xff1a;✌全网粉丝50W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战8年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ > &#x1f345;想要获取完整文章或者源码&#xff0c;或者代做&#xff0c;拉到文章底部即可与…...

Simpack轨道车辆轮对扁疤故障设置及结果探秘

simpack轨道车辆&#xff0c;轮对扁疤故障设置&#xff0c;结果如下。 非教程。在轨道车辆的研究领域中&#xff0c;Simpack可是一款大名鼎鼎的多体动力学仿真软件。今天咱就唠唠Simpack轨道车辆里轮对扁疤故障设置这一有趣话题&#xff0c;顺便瞅瞅得出的结果都有啥门道。先来…...

计算机毕业设计源码:Python旅游行业数据洞察可视化系统 Flask框架 可视化 旅游 出行 出游 大数据 大模型 数据分析 agent(建议收藏)✅

博主介绍&#xff1a;✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ > &#x1f345;想要获取完整文章或者源码&#xff0c;或者代做&#xff0c;拉到文章底部即可与…...

【大数据技术详解】——Sqoop技术(学习笔记)

目录 Sqoop 技术深度解析 一、核心定位与适用场景 ✅ 典型用途 &#x1f3af; 适用场景 二、架构原理 工作流程&#xff08;以 Import 为例&#xff09;&#xff1a; 三、核心命令与参数详解 1. Import 示例&#xff08;MySQL → HDFS&#xff09; 2. Import 到 Hive&a…...

通过重装vCenter Server解决登录vCenter界面时,报“503 Service Unavailable“错误的问题

通过重装vCenter Server解决登录vCenter界面时&#xff0c;报"503 Service Unavailable"错误的问题 问题背景 在某次登录vCenter界面时&#xff0c;浏览器报"503 Service Unavailable"错误。 登录vCenter:5480后台管理界面时&#xff0c;输入了正确的用户名…...

情绪记录分析程序,记录每日情绪与触发事件,找出影响最大因素,给出调节建议。

情绪记录分析程序 - 智能决策课程实践一、实际应用场景描述作为一名全栈开发工程师&#xff0c;我在过去三年中经历了多个高强度项目周期。长期的技术攻坚和团队协作让我意识到&#xff0c;情绪管理对工作效率和个人健康至关重要。典型场景&#xff1a;- 周一晨会前感到焦虑&am…...

COMSOL 数值模拟助力 N₂ 和 CO₂ 混合气体增强瓦斯抽采

COMSOL数值模拟&#xff0c;实现N2和CO2混合气体在THM热流固三场耦合情况下增强瓦斯&#xff08;煤层气抽采&#xff09;在煤层气抽采领域&#xff0c;如何高效地将瓦斯从煤层中抽采出来一直是研究的重点。近年来&#xff0c;利用 N₂ 和 CO₂ 混合气体在 THM&#xff08;热 - …...

[MySQL] Package ‘libtirpc‘, required by ‘virtual:world‘, not found

Package ‘libtirpc’, required by ‘virtual:world’, not found – Found PkgConfig: /usr/bin/pkg-config (found version “1.8.1”) – Checking for module ‘libtirpc’ – Package ‘libtirpc’, required by ‘virtual:world’, not found CMake Error at cmake/rpc…...

在 macOS 上配置 OpenClaw 连接本地 Ollama 完整指南

前言最近在 macOS 上体验了 OpenClaw&#xff08;“小龙虾”&#xff09;这个开源 AI 助手框架&#xff0c;配合本地运行的 Ollama&#xff0c;实现了完全离线、免费的 AI 对话。本文将详细记录从零开始的配置过程&#xff0c;包括每一个选项的选择和背后的原因&#xff0c;希望…...

WangEditor在Vue2中如何处理Word文档中的特殊格式粘贴?

河南.NET程序员接单记&#xff1a;680元预算搞定CMS编辑器Word/公式导入&#xff0c;开箱即用&#xff01; 一、项目背景&#xff1a;客户的需求就是我的KPI 最近接了个企业官网CMS外包项目&#xff0c;客户是传统行业&#xff0c;后台新闻发布全靠Word复制粘贴&#xff0c;但…...

书匠策AI:论文写作界的“智能导航仪”,轻松驶向期刊发表彼岸

在学术的海洋里&#xff0c;每一位研究者都是勇敢的航海家&#xff0c;而论文写作则是那艘载满智慧与梦想的航船。然而&#xff0c;面对茫茫的学术海域&#xff0c;如何精准定位研究方向&#xff0c;高效构建论文框架&#xff0c;优雅地驾驭文字之舟&#xff0c;直至成功抵达期…...

基于自适应在线学习的概率负荷预测:探索与实践

基于自适应在线学习的概率负荷预测在电力系统运行与规划中&#xff0c;负荷预测一直是个关键课题。传统的负荷预测方法往往难以应对复杂多变的实际情况&#xff0c;而基于自适应在线学习的概率负荷预测则为这一难题提供了新的解决思路。 一、什么是自适应在线学习 自适应在线学…...

删除文件夹,被提示“需要来自 TrustedInstaller 的权限。。。”的解决方案

问题 windows安装助手升级系统后&#xff0c;生成Windows.old的文件夹&#xff0c;占用C盘30G&#xff0c;准备删除它。结果提示&#xff1a;文件夹访问被拒绝。 比如以删除 windows.old 下的 Program Files (x86)为例&#xff1a;解决步骤 1. 右键文件夹&#xff0c;选择&…...