夏令营入门组day4

 一. 题目

二. 思路

 (1)B要先去和A回合,因为B只能将红染成蓝,不能直接将白染成蓝,所以B必须走A走过的路才有效。

(2)答案分为两部分,去和A回合的最短距离 + 以回合点为根节点,遍历整棵树的距离

(3)其中遍历整棵树的最短距离为(边数 - 1) * 2 + 从根节点到最远的叶子节点的距离,因为走到一个叶子节点就会返回,回到根节点再去下一个叶子节点,因此所有边都会走两遍,但可以选一个最远的叶子节点最后一个走,到达后就留在那里不回根节点了。

三. 代码

(1)dfs1 找回合点,vector变量pash保存路径,计算A与B之间的距离。

(2)dfs2 找数的最深深度。

(3)向上取整公式:(n + 1)/ 2 - 1

#include<bits/stdc++.h>
#define LL long long
using namespace std;int n, a, b, x, y, mid, mx, dis, ans;
vector<int> G[200005];
vector<int> path;void dfs1(int u,int fa)
{path.push_back(u);if (u == b){mid = path[(path.size() + 1) / 2 - 1];dis = path.size() / 2;}for (auto v : G[u]){if (v == fa)continue;dfs1(v, u);}path.pop_back();
}void dfs2(int u, int fa, int dep)
{mx = max(mx, dep);for (auto v : G[u]){if (v == fa)continue;dfs2(v, u, dep + 1);}
}int main()
{cin >> n >> a >> b;for (int i = 1; i <= n - 1; i ++){cin >> x >> y;G[x].push_back(y);G[y].push_back(x);}if (a == b){dfs2(a, -1, 0);ans = 2 * (n - 1) -mx;cout << ans;return 0;}dfs1(a, -1);ans += dis;dfs2(mid, -1, 0);ans += 2 * (n - 1) -mx;cout << ans;return 0;
}

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

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

相关文章

FPGA上板项目(二)——PLL测试

目录 实验内容实验原理实验步骤实验结果 实验内容 将差分时钟信号转化为 192MHz 时钟信号作为输出。 实验原理 PLL&#xff0c;即锁相环&#xff0c;一种反馈控制电路&#xff0c;具有时钟倍频、分频、相位偏移和可编程占空比的功能。 实验步骤 添加 clocking wizard IP核&…

Gitlab CI/CD --- use a sample CI/CD template

0 Preface/Foreword Pipeline, job, stage的关系如下描述&#xff1a; A pipeline is composed of independent jobs that run scripts, grouped into stages. Stages run in sequential order, but jobs within stages run in parallel. 关键信息&#xff1a; pipeline由独…

Ubuntu 磁盘扩容

1.下载工具 sudo apt-get install gparted 2.调整大小

IP风险画像 金融行业的安全盾牌

在当今数字化时代&#xff0c;金融行业面临着前所未有的安全挑战。随着在线交易和数字银行业务的迅猛发展&#xff0c;欺诈和网络攻击的威胁也在不断增加。金融机构需要高效、可靠的安全解决方案来保护客户的资产和个人信息&#xff0c;防止各种形式的欺诈行为。 IP风险画像是…

postman点code选http出现乱码?

最近在调OA接口新建流程&#xff0c;用postman调成功了&#xff0c;但是要换到数据库来的时候就不知道咋弄了&#xff0c;一开始还以为是出现了乱码&#xff0c;都不敢用http的code&#xff0c;但其实是参数被urlencoding了&#xff0c;所以写到Oracle数据库的时候&#xff0c;…

构建企业多层社会传播网络:以AI智能名片S2B2C商城小程序为例

摘要&#xff1a;在数字化转型的浪潮中&#xff0c;企业如何有效构建并优化其社会传播网络&#xff0c;已成为提升市场竞争力、深化用户关系及实现价值转化的关键。本文以AI智能名片S2B2C商城小程序为例&#xff0c;深入探讨如何通过一系列精细化的策略与技术创新&#xff0c;构…

[论文笔记]构建基于RAG聊天机器人的要素

引言 今天带来一篇构建RAG的论文笔记&#xff1a;FACTS About Building Retrieval Augmented Generation-based Chatbots。 基于生成式人工智能构建企业聊天机器人迅速成为行业中最受关注的应用之一&#xff0c;旨在提高员工生产力。 然而&#xff0c;构建成功的企业聊天机器…

深入解析Spring Cloud:构建分布式微服务架构的最佳实践

导语&#xff1a;随着互联网业务的快速发展&#xff0c;传统的单体应用已无法满足高并发、高可用、可扩展的需求。微服务架构以其轻量级、独立性、灵活性的特点&#xff0c;逐渐成为大型分布式系统的首选架构。Spring Cloud作为构建微服务架构的重要框架&#xff0c;为开发者提…

【边缘计算网关教程】6.松下 Mewtocol TCP 协议

前景回顾&#xff1a;【边缘计算网关教程】5.三菱FX3U编程口通讯-CSDN博客 松下 Mewtocol TCP 协议 适配PLC&#xff1a;松下FP0H 松下XHC60ET 1. 硬件连接 Mewtocol TCP协议采用网口通信的方式&#xff0c;因此&#xff0c;只需要保证网关的LAN口和松下PLC的IP在一个网段即…

MYSQL--第九次作业

MYSQL–第九次作业 1、安装redis&#xff0c;启动客户端、验证。 安装网址&#xff1a;Redis Released&#xff0c;找到适合自己电脑的redis版本后&#xff0c;下载并安装。 安装完后&#xff0c;打开cmd命令框&#xff1a; -- 启动客户端 C:\Windows\System32>redis-cl…

【linux】服务器ubuntu安装cuda11.0、cuDNN教程,简单易懂,包教包会

【linux】服务器ubuntu安装cuda11.0、cuDNN教程&#xff0c;简单易懂&#xff0c;包教包会 【创作不易&#xff0c;求点赞关注收藏】 文章目录 【linux】服务器ubuntu安装cuda11.0、cuDNN教程&#xff0c;简单易懂&#xff0c;包教包会一、版本情况介绍二、安装cuda1、到官网…

破解快消行业营销费用管理难题,引领财务费控数字化转型

众所周知&#xff0c;快消品行业消费群体较为广泛&#xff0c;涉及渠道复杂&#xff0c;产品周转期短、可替代性强&#xff0c;特别是面对竞争激烈的市场环境&#xff0c;大力投入营销、渠道费用对快消行业的企业来说十分普遍&#xff0c;而这其中&#xff0c;由于渠道多、业态…

【LoadRunner】博客笔记项目 性能测试报告

文章目录 前言一、博客笔记项目性能测试介绍二、编写性能测试脚本&#xff08;VUG&#xff09; 2.1 测试脚本编写步骤 2.2 脚本总代码和结果分析三、创建测试场景&#xff08;Controller&#xff09; 3.1 测试场景创建实现步骤四、生成测试报告&#xff08;Anal…

Sql查询语句

SELECT * from student,class 在上一篇博客里我们已经介绍了Sql语句的增删改&#xff0c;以及创建了用来演示增删改的数据库和表&#xff0c;下面我们介绍SQL语句中最重要的查询语句。 增删改博客链接&#xff08;Sql语句之增删改查&#xff08;CRUD&#xff09;-CSDN博客&…

Nacos最新0day漏洞复现

目录 一、漏洞原理 二、版本信息 三、资产测绘 四、poc信息 五、总结 一、漏洞原理 漏洞的核心在于 Nacos 的某些接口没有严格的权限控制&#xff0c;攻击者可以通过特制的请求向 Nacos 服务器发送恶意数据&#xff0c;从而执行任意代码。下载nacos代码搭建环境https://gi…

数字孪生Digital Twin 结合建筑信息模型 BIM 在AIoT 智慧城市建设中Web 可视化大屏实践...

智慧城市建设通过将城市中的建筑、基础设施等构建 BIM 模型&#xff0c;并与实时采集的数据相结合&#xff0c;创建数字孪生体。可以实现对城市能源消耗、交通流量、环境质量等的实时监测和预测&#xff0c;优化城市规划和资源分配。 01 数字孪生 Digital Twin 数字孪生 Digita…

Jira学习

1.Dev OPS DevOps简介 DEV OPS 流程 DEV OPS流程对应工具 最重要的就是持续集成–Jenkins 2.Jira 新建项目

自主升级,平稳过渡!麒麟信安保障长沙市智慧交通发展中心CentOS迁移无忧

长沙市智慧交通发展中心围绕综合交通运输协调体系的构建&#xff0c;实施交通运行的监测、预测和预警&#xff0c;面向公众提供交通信息服务&#xff0c;开展多种运输方式的调度协调&#xff0c;提供交通行政管理和应急处置的信息保障。 该中心目前数据日交换量超2亿条&#x…

社交电商的新篇章:AI智能名片O2O商城小程序与传统微商的区别与融合

摘要 在数字经济蓬勃发展的今天&#xff0c;互联网技术的革新正以前所未有的速度重塑着商业格局。传统微商模式&#xff0c;尽管在初期借助社交媒体迅速崛起&#xff0c;但因其固有的局限性&#xff0c;如产品质量不一、营销手段单一、信任机制脆弱等&#xff0c;逐渐暴露出诸…

Qt程序图标更改以及程序打包

Qt程序图标更改以及程序打包 1 windows1.1 cmake1.1.1 修改.exe程序图标1.1.2 修改显示页面左上角图标 1.2 qmake1.2.1 修改.exe程序图标1.2.2 修改显示页面左上角图标 2 程序打包2.1 MinGW2.2 Visual Studio 3 参考链接 1 windows 1.1 cmake 1.1.1 修改.exe程序图标 获得一个…