[题解]P11294 [NOISG 2022 Qualification] Tree Cutting

news/2025/11/14 15:55:51/文章来源:https://www.cnblogs.com/Sinktank/p/19222290

P11294 [NOISG 2022 Qualification] Tree Cutting

删除一条边,会产生两棵树,此时最优就是将两树的直径端点连起来,答案为两树直径之和再\({}+1\)

因此考虑枚举删除的边 \((u,v)\),不妨令 \(u\) 为父节点。我们需要知道:

  • 子树 \(v\) 的直径。
  • 原树删除子树 \(v\) 后的直径。

前者只需要按正常的树形 DP,记录每个节点能向下延伸的最长、次长链(\(mx[u][0/1]\))即可求得。

后者的答案相当于在下面三项中选两项:

  • 删去子树 \(v\) 后,从 \(u\) 向下延伸的最长链。
  • 删去子树 \(v\) 后,从 \(u\) 向下延伸的次长链。
  • \(u\) 向子树 \(u\) 外延伸的最长链。

第三项可以采用 \(2\) 次 DFS 的方法,一次从下往上,一次从上往下(即 P10962)。

前两项可以额外维护 \(u\) 能向下延伸的第 \(3\) 长链(\(mx[u][2]\))。

  • \(mx[v][0]+1=mx[u][0]\),则删除 \(v\) 后的最长链、次长链即为 \(mx[u][1],mx[u][2]\)
  • \(mx[v][0]+1=mx[u][1]\),则删除 \(v\) 后的最长链、次长链即为 \(mx[u][0],mx[u][2]\)
  • 其他情况,删除 \(v\) 后的最长链、次长链即为 \(mx[u][0],mx[u][1]\)

时间复杂度 \(O(n)\)

点击查看代码
#include<bits/stdc++.h>
#define eb emplace_back
using namespace std;
const int N=3e5+5;
int n,mx[N][3],g[N],f[N],ans;//mx:子树内前k大的距离  g:子树内的直径  f:子树外最大的距离 
inline void merge(int a[3],int w){if(w>=a[0]) a[2]=a[1],a[1]=a[0],a[0]=w;else if(w>=a[1]) a[2]=a[1],a[1]=w;else if(w>=a[2]) a[2]=w;
}
vector<int> G[N];
inline void dfs1(int u,int fa){for(int i:G[u]){if(i^fa){dfs1(i,u);merge(mx[u],mx[i][0]+1);g[u]=max(g[u],g[i]);}}g[u]=max(g[u],mx[u][0]+mx[u][1]);
}
inline void dfs2(int u,int fa){for(int i:G[u]){if(i^fa){if(mx[i][0]+1==mx[u][0]) f[i]=max(f[u],mx[u][1])+1;else f[i]=max(f[u],mx[u][0])+1;dfs2(i,u);ans=max(ans,g[i]+1+(mx[i][0]+1==mx[u][0]?mx[u][1]+max(f[u],mx[u][2]):mx[i][0]+1==mx[u][1]?mx[u][0]+max(f[u],mx[u][2]):mx[u][0]+max(f[u],mx[u][1])));}}
}
signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); cin>>n;for(int i=1,u,v;i<n;i++){cin>>u>>v;G[u].eb(v),G[v].eb(u);}dfs1(1,0),dfs2(1,0);cout<<ans<<"\n";return 0;
}

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

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

相关文章

2025-11-14 ZYZ28-NOIP模拟赛-Round6 hetao1733837的record

2025-11-14 ZYZ28-NOIP模拟赛-Round6 hetao1733837的record2025-11-14 ZYZ28-NOIP模拟赛-Round6 hetao1733837的record 比赛链接:ZYZ28-NOIP模拟赛-Round6 比赛背景:无 A.teleport 提交链接:teleport 题面 给定一个…

uniapp开发H5避坑指南

1、H5怎么禁用页面整体拖动的弹性效果(bounce效果)?解决:在页面根元素上添加@touchmove.prevent 2、H5怎么获取地理位置经纬度?方案1:使用HTML5原生APInavigator.geolocation.getCurrentPosition(successCallbac…

【连续3届IEEE出版 | 往届均已完成EI检索】第六届智能电网与能源工程国际学术会议(SGEE 2025)

【连续3届IEEE出版 | 往届均已完成EI检索 | 上海海事大学主办-IEEE Fellow 等大咖主讲报告】第六届智能电网与能源工程国际学术会议(SGEE 2025)第六届智能电网与能源工程国际学术会议(SGEE 2025) 2025年11月28-30日…

nginx做tcp代理时的超时时间参数设置和解释

如果你是在配置HTTP代理,可能会更常用到proxy_read_timeout和proxy_send_timeout。而proxy_timeout在TCP/UDP代理中更常见。 总结proxy_connect_timeout:控制连接建立阶段的超时;proxy_timeout:主要用于stream模块…

【往届会后三个月完成EI检索 | IEEE出版】第二届智能机器人与自动控制国际学术会议(IRAC 2025)

【往届会后三个月完成EI检索 | IEEE出版】第二届智能机器人与自动控制国际学术会议(IRAC 2025)第二届智能机器人与自动控制国际学术会议(IRAC 2025) 2025年11月28-30日,中国-湖南省-湘西土家苗族自治州吉首市 截稿…

精准把控VBAT,轻松规避电源设计99%陷阱

电源设计是一个细致而复杂的过程,其中VBAT的精准把控尤为关键。若处理不当,极易陷入各种陷阱。本文将指导您如何精准把控VBAT,从而轻松规避电源设计中高达99%的常见陷阱,让您的设计更加出色。 在物联网开发中,稳定…

RAID(磁盘阵列)技术介绍

RAID(磁盘阵列)技术介绍介绍RAID 使用的技术、类型、重建方式RAID(磁盘阵列)关键技术数据分条技术:把数据分块,分散存放到多个磁盘上,提高读写并行度数据镜像技术:把同一份数据写到多个磁盘,某个盘坏了还能用…

2025年金属保温装饰板最新标杆企业推荐:铝板保温装饰一体板/外墙保温装饰板/金属保温装饰板/浙江欣阳嘉茂控股集团有限公司

随着建筑节能标准持续提升、绿色建筑政策深入推进,以及城市更新与既有建筑外立面改造需求快速增长,保温装饰一体板作为兼具节能、美观与安全性能的新型外墙材料,正加速成为建筑围护系统的重要选择。然而,当前市场产…

Sora2、Nano Banana AI批量生图视频实战,API低价调用和免费批量生成教程

经过这几年Ai模型迭代升级,越来越多好用的模型出现,让电商人和自媒体的人的工作方便多了许多。以前找个美工折腾半天的产品图、文案配图,现在输入几句话就能生成,质量和速度都远超预期。不过实际用起来就会发现,A…

7 款最佳自托管 AI 工具,快速构建业务应用

7 款值得关注的自托管 AI 工具,助你在安全可控的环境中快速搭建具备智能能力的业务系统。原文链接:https://www.nocobase.com/cn/blog/7-self-hosted-ai-tools-build-business-app 过去一年,我们一直在持续关注自托…

2025年果胶裂解酶批发厂家权威推荐榜单:果胶甲酯酶/果胶酶纤维素酶/果胶酶源头厂家精选

在生物制造与食品工业绿色转型的浪潮下,酶制剂作为高效的生物催化剂,其市场需求持续增长。据行业报告显示,全球工业酶制剂市场规模预计将在2025年达到新高度,其中果胶酶类产品因在果汁澄清、植物提取等领域的广泛应…

carl部分书单

carl部分书单货币战争 伟大的博弈 贸易打造的世界 经济学的思维方式 carl 可能的mbti istj or infj

高精度机器人控制的核心——基于 MYD-LT536 开发板的精密运动控制方案

一、背景:机器人迈向“微米级控制时代”随着智能制造和自动化产业的持续升级,工业机器人不再仅仅承担重复搬运,而是被要求在装配、检测、精密加工等高精度场景中完成微米级控制任务。在这些“高精度机器人控制”应用…

鸿蒙应用开发实战:集成农历功能

如何在HarmonyOS应用中实现精准的农历日期计算与显示引言 在现代生活中,农历日期对于许多传统节日、生日纪念具有重要意义。然而,在移动应用开发中,农历功能的集成往往面临算法复杂、数据处理困难等挑战。本文将分享…

解决Linux 下 root用户删除文件提示:Operation not permitted

问题描述用最高权限rm文件,居然报错Operation not permitted。查看权限也没有问题。可想而知有可能文件被保护了。用命令lsattr检查一下就知道。[root@linux root]# lsattr a.txt  ---i---------- a.txt带属性“ i …

2025 最新波纹管厂家推荐榜:隧道 / 双壁 / 打孔 / 防结晶波纹管优质厂家权威甄选双壁波纹管/打孔波纹管/隧道打孔波纹管公司推荐

引言 在全球基础设施建设提质升级的浪潮中,波纹管作为管网系统核心构件,其品质直接决定工程寿命与安全。据国际管道协会(IPA)最新测评数据,市场上仅 32% 的波纹管产品能同时满足环刚度≥SN8、耐腐蚀性达标、使用寿…

百思沐成品卫生间生产厂家,百思沐集成淋浴房生产厂家、 百思沐整体厨房公司排行、装配式厨房工厂排名 、快装式墙板工厂十大推荐榜--南京正标环保科技

百思沐成品卫生间生产厂家,百思沐集成淋浴房生产厂家、 百思沐整体厨房公司排行、装配式厨房工厂排名 、快装式墙板工厂十大推荐榜--南京正标环保科技百思沐成品卫生间生产厂家,百思沐集成淋浴房生产厂家、 百思沐整…

洛谷题单指南-组合数学与计数-P5664 [CSP-S 2019] Emiya 家今天的饭

原题链接:https://www.luogu.com.cn/problem/P5664 题意解读: Emiya 掌握 n 种烹饪方法和 m 种主要食材,用第 i 种烹饪方法和第 j 种食材可做 a[i][j] 道不同的菜。需选择若干道菜(至少 1 道),满足以下要求:每道…

详细介绍:Endnote | word中加载项消失不见,如何处理?

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

0广告投入!一个月访问暴涨200%,复盘我的AI API站做的几波“骚操作”

我的出海经历我从去年底就有出海的打算,为啥?因为入不敷出,没钱了!在出海之前我一直在做小程序产品,但是自从kimi,deepseek,豆包这些免费的Ai大模型上线后,我们这种依靠会员费的小型Ai公司就做不下去了,太卷了…