LCA 问题
T1:
倍增求一下lca,然后树上前缀和,或直接倍增求也行
T2:
可以发现货车运输的路径最多在图上的最大生成森林上跑
所以先跑一遍最大生成树,将各个树与虚点0连一条边权为-1的边,然后跑一遍lca求一下树上最小边即可
树上差分:
T3:
首先题目让我们将一条边的边权赋值为0,然后使得最长路径最短
因为我们删去一条边后,我们不知道它的贡献,所以问题复杂简单化,二分
那些路径长度大于答案的,我们需要将一条边边权赋值为0,使得所有路径长度大于答案的小于答案,也就是这条边首先路径最大值减后要小于答案,其次,这条边要求所有我们要考虑的路径都经过,所以我们对于每一条要考虑的路径上的所有边边权+1,这里树上差分解决,然后找到边权为路径总数的边判断一下是否可以将最大值减为答案之内即可
T4:
详见最小生成树一章
T5:
注意:节点编号不小于n
T6:
真服了硬控我5个点
首先把删边换成加边,然后再考虑一个性质,就是在我们将两个棵树合并时,其中最长路径的端点一定是从原先两棵树的最长路径的端点中出
所以只要判断一下四个端点,哪两个端点组合起来能形成的路径最长记录一下即可
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!