1077. 皇宫看守
题目链接
1077. 皇宫看守
太平王世子事件后,陆小凤成了皇上特聘的御前一品侍卫。
皇宫各个宫殿的分布,呈一棵树的形状,宫殿可视为树中结点,两个宫殿之间如果存在道路直接相连,则该道路视为树中的一条边。
已知,在一个宫殿镇守的守卫不仅能够观察到本宫殿的状况,还能观察到与该宫殿直接存在道路相连的其他宫殿的状况。
大内保卫森严,三步一岗,五步一哨,每个宫殿都要有人全天候看守,在不同的宫殿安排看守所需的费用不同。
可是陆小凤手上的经费不足,无论如何也没法在每个宫殿都安置留守侍卫。
帮助陆小凤布置侍卫,在看守全部宫殿的前提下,使得花费的经费最少。
输入格式
输入中数据描述一棵树,描述如下:
第一行 ,表示树中结点的数目。
第二行至第 行,每行描述每个宫殿结点信息,依次为:该宫殿结点标号 ,在该宫殿安置侍卫所需的经费 ,该结点的子结点数 ,接下来 个数,分别是这个结点的 个子结点的标号 。
对于一个 个结点的树,结点标号在 到 之间,且标号不重复。
输出格式
输出一个整数,表示最少的经费。
数据范围
输入样例:
输出样例:
样例解释:
在结点安排护卫,可以观察到全部宫殿,所需经费最少,为 。
解题思路
树形dp
-
状态表示:
-
- 表示未选择节点 且被父节点看到的最小花费
-
- 表示未选择节点 且被子节点看到的最小花费
-
- 表示选择节点
-
状态计算:
-
-
-
分析:一个节点被看到无非就三种状态:1.被父节点看到,2.被子节点看到,3.被自己看到,具体分析如下(枚举子节点的情况):
1.被父节点看到即本身没选择,则子节点要么被自己看到要么被子节点看到
2.被子节点看到,枚举被哪个子节点看到,其他子节点要么被它的子节点或自己看到
3.被自己看到,子节点三种情况都有可能
-
时间复杂度:
代码
__EOF__

本文作者:acwing_zyy
本文链接:https://www.cnblogs.com/zyyun/p/16024104.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/zyyun/p/16024104.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!