
树形dp
文章平均质量分 86
yuzhang_zy
现在的我不是最好的我,未来的我才是最好的我,每一篇博客都记录着我的成长
展开
-
1077 皇宫看守(树形dp)
1. 问题描述:太平王世子事件后,陆小凤成了皇上特聘的御前一品侍卫。皇宫各个宫殿的分布,呈一棵树的形状,宫殿可视为树中结点,两个宫殿之间如果存在道路直接相连,则该道路视为树中的一条边。已知,在一个宫殿镇守的守卫不仅能够观察到本宫殿的状况,还能观察到与该宫殿直接存在道路相连的其他宫殿的状况。大内保卫森严,三步一岗,五步一哨,每个宫殿都要有人全天候看守,在不同的宫殿安排看守所需的费用不同。可是陆小凤手上的经费不足,无论如何也没法在每个宫殿都安置留守侍卫。帮助陆小凤布置侍卫,在看守全部宫殿的前提下,使得花费的原创 2021-09-30 16:29:26 · 331 阅读 · 0 评论 -
323 战略游戏(树形dp)
1. 问题描述:鲍勃喜欢玩电脑游戏,特别是战略游戏,但有时他找不到解决问题的方法,这让他很伤心。现在他有以下问题。他必须保护一座中世纪城市,这条城市的道路构成了一棵树。每个节点上的士兵可以观察到所有和这个点相连的边。他必须在节点上放置最少数量的士兵,以便他们可以观察到所有的边。你能帮助他吗?例如,下面的树:只需要放置 1 名士兵(在节点 1 处),就可观察到所有的边。输入格式输入包含多组测试数据,每组测试数据用以描述一棵树。对于每组测试数据,第一行包含整数 N,表示树的节点数目。接下来 N原创 2021-09-30 11:25:20 · 299 阅读 · 0 评论 -
1075 数字转换(树形dp-树的最长路径、递推)
1. 问题描述:如果一个数 x 的约数之和 y(不包括他本身)比他本身小,那么 x 可以变成 y,y 也可以变成 x。例如,4 可以变为 3,1 可以变为 7。限定所有数字变换在不超过 n 的正整数范围内进行,求不断进行数字变换且不出现重复数字的最多变换步数。输入格式输入一个正整数 n。输出格式输出不断进行数字变换且不出现重复数字的最多变换步数。数据范围1 ≤ n ≤ 50000输入样例:7输出样例:3样例解释一种方案为:4→3→1→7。来源:http原创 2021-09-29 14:31:08 · 320 阅读 · 0 评论 -
1073 树的中心(树形dp)
1. 问题描述:2. 思路分析:3. 代码如下:from typing import Listclass Solution: # d1表示向下走的最长路径, d2表示向下走的次长路径, up表示向上走的最长路径, isLeaf判断是否是叶子节点 d1, d2, up, p1, isLeaf = None, None, None, None, None INF = 10 ** 9 # 求解d1, d2, fa用来判断是否是父节点(无向边创建的双向边原创 2021-09-28 16:56:55 · 407 阅读 · 0 评论 -
1072 树的最长路径(树形dp)
1. 问题描述:给定一棵树,树中包含 n 个结点(编号1~n)和 n−1 条无向边,每条边都有一个权值。现在请你找到树中的一条最长路径。换句话说,要找到一条路径,使得使得路径两端的点的距离最远。注意:路径中可以只包含一个点。输入格式第一行包含整数 n。接下来 n−1 行,每行包含三个整数 ai,bi,ci,表示点 ai 和 bi 之间存在一条权值为 ci 的边。输出格式输出一个整数,表示树的最长路径的长度。数据范围1 ≤ n ≤ 10000,1 ≤ ai,bi ≤ n,−10原创 2021-09-27 23:09:13 · 1171 阅读 · 0 评论 -
310 最小高度树(树形dp)
1. 问题描述:树是一个无向图,其中任何两个顶点只通过一条路径连接。 换句话说,一个任何没有简单环路的连通图都是一棵树。给你一棵包含n个节点的树,标记为0到n - 1 。给定数字n和一个有 n - 1 条无向边的 edges列表(每一个边都是一对标签),其中 edges[i] = [ai, bi] 表示树中节点 ai 和 bi 之间存在一条无向边。可选择树中任何一个节点作为根。当选择节点 x 作为根节点时,设结果树的高度为 h 。在所有可能的树中,具有最小高度的树(即,min(h))...原创 2021-06-03 17:30:47 · 472 阅读 · 0 评论