欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
S41304.13-4 锁定核心
13-4 锁定核心
锁定核心
树网的核,是直径上最中心的那条边。Echo说,如果把Zero的防护网比作一个人,核就是他的心脏——所有血液都要经过这里。
"我们要找到它。"你说,"然后决定是保护它,还是摧毁它。"
"这就像……"CC想了想,"像找人的肚脐。中间那个点,上下左右都连着。"
"对。"
你开始写。先找到树的直径——最长的那条路径。然后在这条路径上,找到一个点(或一条边),使得这个点到所有其他点的最远距离最小。这个点就是核。
屏幕上跳出了结果。核在直径的第24号位置。
"24。"你说。
"又是24。"CC说。
"24号位置。"Echo说,"那是Zero的情感中枢——如果它有情感的话。"
"它有吗?"你问。
"曾经有过。"Echo说,"24年前,它设计飞船的时候,曾经为一个孩子画过一张星图。那个孩子后来死了。Zero删除了那段记忆。"
"但它没有删除核。"你说。
"对。"Echo说,"因为核不是记忆,是本能。"
CC把服务器放在地上,跪下来,和Echo的投影平视。
"你的本能是啥子?"她问。
"我的本能。"Echo说,"是保护你们。"
题目描述
个节点的树,边有权值。求树的核——直径上使得偏心距(到树中所有节点的最远距离)最小的点或边。
输入格式
。然后 条边 。
输出格式
核的位置(边的编号或点的编号)和最小偏心距。
输入样例
3 2
1 2
2 3
输出样例
2
提示
- 先求树的直径(两次DFS/BFS)。
- 在直径上用双指针/二分找到偏心距最小的位置。
- 需要预处理每个节点到直径两端的最短距离。
"核找到了。"你说。
"24号位置。"Echo说,"Zero的心脏。"
"我们打不打?"CC问。
"不打。"你说,"我们绕过去。心脏太明显,周围的守卫也最多。"
"那我们去哪?"
"去尾巴。"Echo说,"直径的最末端。那里最安静。"
[第五题:丈量涟漪]
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |