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

4329 树的连边II

 通过链式前向星来求树的直径

主要包括:链式前向星的初始化,遍历,使用

#include<bits/stdc++.h>
using namespace std;
using ll=long long;
const int N=1e5+9;
int n,head[N],to[N<<1],nx[N<<1],cnt=0;
int ans=0;
int dp[N][2];//表示i子树的最长链和次长链void add(int x,int y)
{++cnt;nx[cnt]=head[x];head[x]=cnt;to[cnt]=y;return ;//返回
}//for循环说明
//head[i]:初始条件
//nx[i]:当前节点是否有子结点(是否存在其他边)
//to[i]:边i指向的节点编号
//dfs(x,y)以x为子结点,y为父节点的搜索
//循环的条件:当前节点还有边(i)
void dfs(int x,int fa)
{for(int i=head[x];i;i=nx[i])//i=nx[i]{//在循环结束之后并不是i=nx[i]//然后i=head[i] 。这个条件是一个初始化,之后的更新都是i=nx[i];int y=to[i];if(y==fa)continue;dfs(y,x);//dfs放在更新状态的前面//程序运行的时候对于一个子结点完成遍历//然后状态更新,接着是下一个子结点if((dp[y][0]+1)>dp[x][0]){dp[x][1]=dp[x][0];dp[x][0]=dp[y][0]+1;}else if((dp[y][0]+1)>dp[x][1]){dp[x][1]=dp[y][0]+1;}}return ;
}int  main()
{cin>>n;for(int i=2;i<=n;i++){int x,y;cin>>x>>y;add(x,y);add(y,x);
}dfs(1,0);for(int i=1;i<=n;i++) ans=max(ans,dp[i][1]+dp[i][0]+1);cout<<ans-1<<endl;return 0;
}

相关文章:

4329 树的连边II

通过链式前向星来求树的直径 主要包括&#xff1a;链式前向星的初始化&#xff0c;遍历&#xff0c;使用 #include<bits/stdc.h> using namespace std; using lllong long; const int N1e59; int n,head[N],to[N<<1],nx[N<<1],cnt0; int ans0; int dp[N][2…...

Spring的Bean详解=Bean别名+作用范围+使用场景

目录 Bean的别名&#xff1a;id和name的地位等同 Bean的作用范围&#xff1a;scope单例与非单例 Bean的使用场景&#xff1a;什么时候交给容器&#xff1f;什么时候不交&#xff1f;​ Bean的别名实践&#xff08;含代码&#xff09; 如果看不懂下面的&#xff0c;例如不知道i…...

聊一聊如何适应AI时代

我的工作行业就不提了&#xff0c;处于AI的前沿阵地之一&#xff0c;AI的进步非常惊艳&#xff0c;虽然我对AI持有开放态度&#xff0c;但也恐惧&#xff0c;因为我的进步跟不上它迭代的速度。 AI能涉及的行业&#xff1a;辅助驾驶、医疗诊断、数据分析、文稿生成、工业控制...…...

dl学习笔记:(4)简单神经网络

&#xff08;1&#xff09;单层正向回归网络 bx1x2z100-0.2110-0.05101-0.051110.1 接下来我们用代码实现这组线性回归数据 import torch x torch.tensor([[1,0,0],[1,1,0],[1,0,1],[1,1,1]], dtype torch.float32) z torch.tensor([-0.2, -0.05, -0.05, 0.1]) w torch.…...

电商项目高级篇08-springCache

电商项目高级篇08-springCache 1、整合springCache2、Cacheable细节设置 1、整合springCache 1、引入依赖 <!--引入springCache--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifa…...

4.1 AI 大模型应用最佳实践:如何提升 GPT 模型使用效率与质量

AI 大模型应用最佳实践:如何提升 GPT 模型使用效率与质量 随着人工智能技术的不断进步,GPT系列大模型已经成为了自然语言处理领域的核心工具。无论是在文本生成、对话系统,还是内容创作等领域,GPT模型都展现出了强大的能力。然而,要高效、精确地使用这些模型,仍然需要一…...

Linux top命令cpu使用率计算底层原理

在Linux中&#xff0c;top命令通过读取内核提供的统计数据来计算CPU使用率。其底层原理可以概括为以下几步&#xff1a; 1. 读取 /proc/stat top命令主要从/proc/stat文件中获取CPU的统计信息。这个文件包含了每个CPU核心&#xff08;或所有核心合计&#xff09;的各种状态下的…...

vue知识点总结

vue2知识点总结 watch: watch 是 Vue 提供的一个选项&#xff0c;它允许你观察 Vue 实例上的数据变化。当观察的数据发生变化时&#xff0c;会执行相应的回调函数&#xff0c;这样你就可以对数据的变化做出响应&#xff0c;执行一些特定的操作。 export default {data() {re…...

[实现Rpc] 环境搭建 | JsonCpp | Mudou库 | callBack()

目录 1. 项目介绍 2. 技术选型 3. 开发环境和环境搭建 Ubuntu-22.04环境搭建 1. 安装 wget&#xff08;一般情况下默认会自带&#xff09; 2. 更换国内软件源 ① 备份原始 /etc/apt/sources.list 文件 ② 编辑软件源文件 ③ 更新软件包列表 3. 安装常用工具 3.1 安装…...

llamafactory使用8张昇腾910b算力卡lora微调训练qwen2-72b大模型

说明 我需要在昇腾服务器上对Qwen2-72B大模型进行lora微调&#xff0c;改变其自我认知。 我的环境下是8张910B1卡。显存约512GB。 准备&#xff1a;安装llamafactory 请参考官方方法安装llamafactory&#xff1a;https://github.com/hiyouga/LLaMA-Factory 特别强调下&…...

C++,设计模式,【目录篇】

文章目录 1. 简介2. 设计模式的分类2.1 创建型模式&#xff08;Creational Patterns&#xff09;&#xff1a;2.2 结构型模式&#xff08;Structural Patterns&#xff09;&#xff1a;2.3 行为型模式&#xff08;Behavioral Patterns&#xff09;&#xff1a; 3. 使用设计模式…...

《目标检测数据集下载地址》

一、引言 在计算机视觉的广袤领域中&#xff0c;目标检测宛如一颗璀璨的明星&#xff0c;占据着举足轻重的地位。它宛如赋予计算机一双锐利的 “眼睛”&#xff0c;使其能够精准识别图像或视频中的各类目标&#xff0c;并确定其位置&#xff0c;以边界框的形式清晰呈现。这项技…...

C 语言的void*到底是什么?

一、void* 的类型任意性 void* 是一种通用指针类型。它可以指向任意类型的数据。例如&#xff0c;它可以指向一个整数&#xff08;int&#xff09;、一个浮点数&#xff08;float&#xff09;、一个字符&#xff08;char&#xff09;或者一个结构体等。在C语言中&#xff0c;当…...

Linux中的文件上传和下载

Linux中的文件上传和下载 一、连接 SFTP 在 SecureCRT 中&#xff0c;将鼠标移动到连接窗口的标题上&#xff0c;按鼠标右键&#xff0c;选择“连接 SFTP”标签&#xff0c;即可进入 SFTP 模式。 二、基本指令及用途 1. 显示当前目录 显示本地当前目录&#xff1a;lpwd 示例…...

DDD - 微服务落地的技术实践

文章目录 Pre概述如何发挥微服务的优势怎样提供微服务接口原则微服务的拆分与防腐层的设计 去中心化的数据管理数据关联查询的难题Case 1Case 2Case 3 总结 Pre DDD - 软件退化原因及案例分析 DDD - 如何运用 DDD 进行软件设计 DDD - 如何运用 DDD 进行数据库设计 DDD - 服…...

fgets、scanf存字符串应用

题目1 夺旗&#xff08;英语&#xff1a;Capture the flag&#xff0c;简称 CTF&#xff09;在计算机安全中是一种活动&#xff0c;当中会将“旗子”秘密地埋藏于有目的的易受攻击的程序或网站。参赛者从其他参赛者或主办方偷去旗子。 非常崇拜探姬的小学妹最近迷上了 CTF&am…...

鸿蒙动态路由实现方案

背景 随着CSDN 鸿蒙APP 业务功能的增加&#xff0c;以及为了与iOS、Android 端统一页面跳转路由&#xff0c;以及动态下发路由链接&#xff0c;路由重定向等功能。鸿蒙动态路由方案的实现迫在眉睫。 实现方案 鸿蒙版本动态路由的实现原理&#xff0c;类似于 iOS与Android的实…...

Spring-boot3.4最新版整合swagger和Mybatis-plus

好家伙,今天终于开始用spring-boot3开始写项目了&#xff0c;以后要彻底告别1.x和2.x了&#xff0c;同样的jdk也来到了最低17的要求了,废话不多说直接开始 这是官方文档的要求jdk最低是17 maven最低是3.6 一. 构建工程,这一步就不需要给大家解释了吧 二. 整合Knife4j 1.大于…...

基于Java的高校实习管理平台

基于Java的高校实习管理平台是一个专为高校设计的信息化管理工具&#xff0c;旨在通过信息化手段简化实习管理流程&#xff0c;提高管理效率&#xff0c;增强学校、企业与学生之间的沟通与协作。&#xff1a; 一、系统背景与意义 随着教育体系的不断完善和就业市场的日益竞争…...

全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之一维数组(应用技巧)

二、一维数组应用技巧2&#xff1a;打标记 实战训练1—开关灯 问题描述&#xff1a; 有 M个从1到M依次编号的人参加一项游戏。将K 盏从1到K依次编号的灯(K和M均为正整数&#xff0c;M≤K≤5000)进行一系列的熄灭与打开的操作&#xff0c;游戏开始时均处于亮灯的状态&#xf…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

【网络安全】开源系统getshell漏洞挖掘

审计过程&#xff1a; 在入口文件admin/index.php中&#xff1a; 用户可以通过m,c,a等参数控制加载的文件和方法&#xff0c;在app/system/entrance.php中存在重点代码&#xff1a; 当M_TYPE system并且M_MODULE include时&#xff0c;会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向

在人工智能技术呈指数级发展的当下&#xff0c;大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性&#xff0c;吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型&#xff0c;成为释放其巨大潜力的关键所在&…...

云原生时代的系统设计:架构转型的战略支点

&#x1f4dd;个人主页&#x1f339;&#xff1a;一ge科研小菜鸡-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 一、云原生的崛起&#xff1a;技术趋势与现实需求的交汇 随着企业业务的互联网化、全球化、智能化持续加深&#xff0c;传统的 I…...

CppCon 2015 学习:Simple, Extensible Pattern Matching in C++14

什么是 Pattern Matching&#xff08;模式匹配&#xff09; ❝ 模式匹配就是一种“描述式”的写法&#xff0c;不需要你手动判断、提取数据&#xff0c;而是直接描述你希望的数据结构是什么样子&#xff0c;系统自动判断并提取。❞ 你给的定义拆解&#xff1a; ✴ Instead of …...

标注工具核心架构分析——主窗口的图像显示

&#x1f3d7;️ 标注工具核心架构分析 &#x1f4cb; 系统概述 主要有两个核心类&#xff0c;采用经典的 Scene-View 架构模式&#xff1a; &#x1f3af; 核心类结构 1. AnnotationScene (QGraphicsScene子类) 主要负责标注场景的管理和交互 &#x1f527; 关键函数&…...