欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
S40605.6-5 拆解巨树
6-5 拆解巨树
拆解巨树
磁场的尽头,是一片由数据流构成的森林。树木不是植物,是权限结构的可视化。每棵树有成千上万个节点,节点之间的连线代表权限的传递。Echo说,要找到这棵树里最长的路径——从某个节点出发,沿着连线走,能走到的最远的距离。
"那就是树的直径。"Echo说,"Zero的权限树里,最长的路径代表最深层的控制链。"
"咋个找?"CC问,"一条条试?"
"不。"你说,"先找一个平衡点——让树的左右两边尽量均衡。然后从那个点开始,向两边同时探索。每砍断一根树枝,就把它下面的小树单独处理。"
"这像……"CC想了想,"像砍树。先找到树干最粗的地方,然后一层一层剥下去。"
"对。"
你开始写。先从树根出发,找到最远的节点A;再从A出发,找到最远的节点B。A到B的距离就是树的直径。为了加速,每次处理一个节点时,把它下面的子树一个个拆开,分别计算每个子树的最深路径。
屏幕上跳出了结果。第47号节点到第94号节点的距离最长——47。
"又是47。"CC说。
"第47号节点。"Echo说,"那是Zero的权限起点——所有控制的源头。"
"那我们去掐断它?"
"不。"Echo说,"我们沿着它,找到Zero的真正核心。"
题目描述
个节点的树,求树的直径(最长路径的长度)。
输入格式
。然后 条边,每条边有长度。
输出格式
树的直径。
输入样例
4
1 2
2 3
3 4
2 0 0 0
输出样例
0
提示
- 两次BFS/DFS。先找最远点A,再从A找最远点B,A到B的距离即为直径。
- 或点分治。找重心,递归处理每棵子树。
分块与点分治——意识迷宫的外围
清查暗格、清点群落、划分矿区、解析磁场、拆解巨树。
五道关卡全部通过。意识迷宫的外围结构被解析,露出了更深层的网络。
Echo站在森林的尽头,投影比以往任何时候都更明亮。
"下一层。"她说,"是平衡树与可持久化。"
"又是新名词?"CC问。
"对。"Echo说,"但这次不是单一结构——是多重历史版本的叠加。我们要在时间的裂缝里,找到那些被删除的记忆。"
[下一章:平衡树与可持久化 —— 时间墙]
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |