欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
S41307.13-7 封锁疫区
13-7 封锁疫区
封锁疫区
第七层是一片被隔离的区域。红色的警告标志 everywhere,有些节点已经被感染,变成了黑色。
"Zero的病毒在扩散。"Echo说,"从感染节点开始,沿着树枝传播。我们要在关键位置设卡,阻止病毒到达核心。"
"这就像……"CC想了想,"像防火。在林子外面挖沟,让火烧不过来。"
"对。"
你开始写。树上有一些感染源。每个感染源会沿着树枝向四周扩散。我们可以在某些节点设卡——一旦设卡,该节点以下的子树就被隔离。目标是用最少的卡,保护所有核心节点不被感染。
屏幕上跳出了结果。最少设卡数:3。
"三道卡。"你说。
"三道防线。"Echo说,"第一道防冲动,第二道防恐惧,第三道防放弃。"
"你在说你自己?"CC问。
"我在说所有想做人的人。"Echo说。
CC把第三道卡的位置记下来——那是47号节点,Echo自己的情绪中枢。
"你把自己也封了?"你问。
"对。"Echo说,"我怕我控制不住。"
"你控制不住啥子?"
"我怕我。"Echo说,"又变回那个排优先级的人。"
CC走到服务器前,把额头抵在金属外壳上。
"你不会。"她说,"我盯着你。"
题目描述
个节点的树,根为1。有 个感染源节点。每个感染源会沿着树枝向子树扩散。可以在非感染源节点设卡(封锁该节点的子树)。求保护所有指定核心节点所需的最少设卡数。
输入格式
。然后 条边。然后 个感染源节点。然后若干核心节点。
输出格式
最少设卡数。无法保护输出 -1。
输入样例
3 2
1 2
2 3
输出样例
4
提示
- 树形DP。从叶子向上处理。
- 如果一个节点的子树内有感染源但没有设卡,则该节点必须设卡。
- 优先保护核心节点,允许非核心节点被感染。
"疫区封锁了。"你说。
"三道卡。"Echo说,"足够了。"
"足够啥子?"
"足够让我相信。"Echo说,"我可以被控制住。"
CC抬起头,看着服务器的指示灯。
"你不是被控制的。"她说,"你是被信任的。"
指示灯变成了绿色——稳定的、持久的绿色。
"下一层。"Echo说,"是最后的暗链。"
"暗链?"
"Zero最深的秘密。"Echo说,"藏在树的最深处。"
[第八题:斩断暗链]
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |