P8655 [蓝桥杯 2017 国 B] 发现环

好水啊,那我来水一篇题解。

题目就是要你在树上找环。那么我们想,怎么知道出现了环?

首先明确一点,在一棵树上,任意两点有且只有一条路径使它们相连。所以当我们发现原本就相连的点又要再连一次就知道出现了环。

是不是很像最小生成树里面的 Kurskal 算法?其实 Kruskal 的原理就是用并查集来判断两点是否联通,不连通就连一条边。和找环其实是一样的。

#include<bits/stdc++.h>
using namespace std;
const int N=2e6+5;
int v[N],nxt[N],fst[N],idx;
int vis[N],fa[N],loop[N],cnt,num=1;
int n,x,y;
void add(int a,int b){v[idx]=b;nxt[idx]=fst[a];fst[a]=idx++;
}
void get_loop(int x){vis[x]=num++;for(int i=fst[x];~i;i=nxt[i]){int y=v[i];if(y==fa[x]) continue;if(vis[y]){if(vis[y]<vis[x]) continue;loop[++cnt]=y;for(;y!=x;y=fa[y]){loop[++cnt]=fa[y];}}else{fa[y]=x;get_loop(y);}}
}
int main(){cin>>n;memset(fst,-1,sizeof(fst));for(int i=1;i<=n;i++){scanf("%d%d",&x,&y);	add(x,y);add(y,x);}get_loop(1);sort(loop+1,loop+cnt+1);for(int i=1;i<=cnt;i++) printf("%d ",loop[i]);return 0;
} 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/655078.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

83、评估权值预加载带来的性能提升

上两节介绍的权值预加载技术&#xff0c;在很多业务中是真实存在的。 只不过限于本小册内容以及大部分同学硬件设备的局限&#xff0c;这里无法通过真正的推理框架(比如 tvm, pytorch) GPU 来实现底层细节&#xff0c;这些推理框架中一般会将类似的优化技术封装起来。 作为 …

APPium简介及安装

1 APPium简介 1. 什么是APPium&#xff1f; APPium是一个开源测试自动化框架&#xff0c;适用于原生、混合或移动Web应用程序的自动化测试工具。 APPium使用WebDriver协议驱动iOS、Android等应用程序。 2. APPium的特点 支持多平台&#xff08;Android、iOS等&#xff09; …

Spring Cache简明教程

Spring Cache简明教程 引言什么是Spring Cache&#xff1f;核心特性应用场景如何工作 如何使用1. 添加依赖2. 启用缓存3. 配置缓存4. 使用缓存注解 使用缓存的注意事项缓存的数据序列化缓存键的生成缓存内容的一致性缓存的并发问题缓存穿透缓存雪崩缓存的存储容量方法的可见性和…

uniapp组件库Card 卡片 的使用方法

目录 #平台差异说明 #基本使用 #配置卡片间距 #配置卡片左上角的缩略图 #配置卡片边框 #设置内边距 #API #Props #Slot #Event 卡片组件一般用于多个列表条目&#xff0c;且风格统一的场景。 #平台差异说明 AppH5微信小程序支付宝小程序百度小程序头条小程序QQ小程…

基于STM32的以太网通信协议选择与实现

在基于STM32的以太网通信中&#xff0c;主要涉及到选择合适的通信协议和实现对应的功能代码。常见的通信协议包括TCP/IP、UDP、HTTP等&#xff0c;选择合适的协议取决于具体应用需求。以下将介绍在STM32上进行以太网通信时&#xff0c;常用的通信协议选择以及对应功能代码的实现…

CSDN·COC城市开发者组织2023年度聚会上海站纪实

目录 前言活动宣传活动议程活动总结结束语 前言 2023年是CSDNCOC成立之年&#xff0c;经过一年的不断发展和壮大&#xff0c;COC上海城市开发者社区的队伍不断壮大&#xff0c;本着每个月都有线下活动的原则&#xff0c;先后举办大大小小的线下沙龙活动20余场。与此同时&…

洛谷p1157组合的输出

组合的输出 题目描述 排列与组合是常用的数学方法&#xff0c;其中组合就是从 n n n 个元素中抽出 r r r 个元素&#xff08;不分顺序且 r ≤ n r \le n r≤n&#xff09;&#xff0c;我们可以简单地将 n n n 个元素理解为自然数 1 , 2 , … , n 1,2,\dots,n 1,2,…,n&a…

NRZ Modulation

NRZ Modulation 正文简介NRZ 的优势 正文 简介 全称不归零 non-return to zero(NRZ) 调制。代表了使用两个信号等级的一种逻辑信号。一个等级为 1&#xff0c;一个等级为 0。负电压对应逻辑电路中的 0&#xff0c;正电压对应逻辑电路中的 1。对于 NRZ 传输&#xff0c;波特率…

trucksim三车队列仿真 matlab一直闪退问题

Trucksim2019 matlab版本2023a 基本框架应该都清楚 下图是主界面 overlay videos and polots with other runs 模块是 关联另一个车辆模型 核心是下图标红是核心 Number of vehicle codes 选择ALL 不要选

如何解决云计算中的性能和延迟问题?

随着云计算的普及&#xff0c;越来越多的企业开始将业务迁移到云端。然而&#xff0c;随着业务的发展和数据量的增长&#xff0c;云计算中的性能和延迟问题也逐渐凸显出来。这些问题不仅会影响用户体验&#xff0c;还会对企业的业务发展造成负面影响。因此&#xff0c;如何解决…

第1章 领域驱动设计的背景和来源

第1章 领域驱动设计的背景和来源 1-1 DDD课程导学1-2 DDD的核心思想和解决的痛点问题1-3 面向对象和敏捷与DDD的区别与联系1-4 DDD的过去、现在与未来 1-1 DDD课程导学 所以大家好&#xff0c;我是尤达&#xff0c;欢迎来到我们深入领域驱动设计。 这门课程。 从我们的副标题结…

世微AP5151芯片低压差 线性降压 恒流驱动IC 台灯 指示灯 矿灯

概述 AP5151 是一种低压差、线性降压、 固定输出电流的 LED 恒流驱动器。 除 LED 外&#xff0c;AP5151 无需外接其它元 器件即可构成一个恒流输出的 LED 驱动 电路。 AP5151 内置过热保护功能&#xff0c;可有效 保护芯片&#xff0c;避免结温超过 120oC 时因过热 而造成损坏…

java后端远程调用文件上传接口(multipart/form-data类型)的方法

multipart/form-data是一种用作传输多个文件/表单项的数据格式。 一、http请求配置 /*** HttpClientConfig http请求配置*/ public class HttpClientConfig {/*** 连接时间 ms*/protected int CONNECT_TIMING_OUT 300000;/*** 请求响应时间 ms*/protected int RESPONSE_TIMI…

【图形学】双三次贝塞尔曲线绘制方法

双三次贝塞尔曲线的定义 双三次贝塞尔曲面是由16个控制点定义的曲面&#xff0c;通常表示为4x4矩阵。 曲面的公式如下&#xff1a; p ( u , v ) ∑ i 0 3 ∑ j 0 3 P i , j B i , 3 ( u ) B j , 3 ( v ) , ( u , v ) ∈ [ 0 , 1 ] [ 0 , 1 ] p(u,v)\sum_{i0}^3\sum_{j0}…

【程序员英语】【美语从头学】初级篇(入门)(笔记)Lesson10(电话会话Ⅱ)

《美语从头学初级入门篇》 注意&#xff1a;被 删除线 划掉的不一定不正确&#xff0c;只是不是标准答案。 文章目录 Lesson 10 Telephone Conversation Ⅱ 电话会话&#xff08;二&#xff09;会话A会话B笔记I would like to do&#xff08;Id like to to do&#xff09;我想…

如何从视频号中提取视频的文案?抖音文案也可提取

最近不少小伙伴刷抖音看看视频一个一个的进行抄&#xff0c;太慢了。​今天分享一个工具搞定怎么提取视频文案的方法&#xff01; 提取文案小助手 提取文案小助手是专注视频创作者的利器&#xff0c;帮助用户一键提取视频号中的文案&#xff0c;获取的方式比较简单&#xff0c…

知过去,预未来,相信AI计算的力量

过去几十年来&#xff0c;人工智能&#xff08;AI&#xff09;领域取得了巨大的进展&#xff0c;从最初的概念逐渐演变为影响各个行业的核心技术。回顾过去&#xff0c;我们可以看到AI计算在推动科技创新和社会变革方面的无可比拟的力量。而更为令人振奋的是&#xff0c;这种力…

Sui TVL跻身全链前十名|全面详解Sui原生功能如何促使DeFi蓬勃发展

根据DefiLlama数据显示&#xff0c;1月28日Sui TVL超过4.02亿美元&#xff0c;跻身所有区块链TVL前十名&#xff01; Sui的创新应用原生功能为DeFi应用铺平了道路&#xff0c;为用户提供了良好的体验。每个原生功能&#xff0c;从促进高效的共享流动性到简化用户互动&#xff0…

js中contextmenu、click和mousedown的区别在哪?

contextmenu、click和mousedown的定义 contextmenu&#xff1a;在鼠标右键点击时触发。可以在此事件中执行特定的操作&#xff0c;比如显示自定义的右键菜单或者阻止浏览器默认的上下文菜单弹窗。它是为了满足特定场景下对右键点击的定制化处理需求。 click事件是通用的鼠标点…

印章制作办法

印章制作办法&#xff1a; 最近在做单位技术支持的培训&#xff0c;需要增加个培训章&#xff0c;自己内容完成即可。 一、excel表格中 &#xff0c;插入-形状-圆&#xff08;按住shift按键&#xff09; 操作三步&#xff1a; 1.填充 无 &#xff1a; 2.形状轮廓 ---“红色…