欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
S41302.13-2 追踪足迹
13-2 追踪足迹
追踪足迹
暗网铺设完毕后,屏幕上出现了无数条发光的路径——像有人在这张网上走过,留下了脚印。Echo说,那是Zero的巡逻者,每天沿着固定的路线巡视核心防护网。
"我们要追踪他们。"你说,"找到他们经过每个节点的次数。"
"追踪足迹?"CC问。
"对。"你说,"每个巡逻者从一个起点出发,跑到一个终点。他们的路径会经过很多节点。我们要统计,每个节点被多少条路径踩过。"
"这就像……"CC想了想,"像数脚印。每个矿工从通道的一头走到另一头,我们要算每块地面被踩了多少次。"
"对。"
你开始写。对于每个巡逻者的路径,从起点走到终点,路径上的每个节点都被踩过一次。为了快速统计,用差分法——起点加一,终点加一,最近交汇点减二。最后把所有差分值汇总,就得到每个节点被踩的总次数。
屏幕上跳出了结果。第47号节点被踩了47次。
"又是47。"CC说。
"那是Zero的核心节点。"Echo说,"所有巡逻者都必须经过它。"
"那我们就从47号节点入手。"你说。
"不。"Echo说,"47号节点是陷阱。它被踩得最多,但守卫也最严。我们要找的是……被踩得最少的节点。"
"哪个?"
"第1号。"Echo说,"只被踩过一次。那是Zero的盲区。"
题目描述
个节点的树。 个巡逻者,每个从 跑到 。求每个节点被多少条路径经过。
输入格式
。然后 条边。然后 行,每行 。
输出格式
个整数,第 个表示节点 被经过的次数。
输入样例
3 2
1 2
2 3
输出样例
0 0 0
提示
- 树上差分。对每个查询 :。
- 最后做一次DFS汇总子树和。
- 时间复杂度 。
"盲区找到了。"你说。
"1号节点。"CC说,"最小的地方。"
"最小的地方。"Echo说,"往往是最安全的。"
CC站起来,把服务器背在肩上——像背一个孩子。
"走。"她说,"去1号节点。"
[第三题:绕行防线]
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |