题目地址:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-zui-jin-gong-gong-zu-xian-lcof/ 题目描述 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 ...
分类:
编程语言 时间:
2020-05-10 17:00:00
阅读次数:
76
UOJ266. 【清华集训2016】Alice和Bob又在玩游戏(博弈论+01 trie) 题目大意 有 $n$ 个节点,$m$ 条边($0 \le m \le n 1$),构成若干棵有根树,每棵树的根节点是该连通块内编号最小的点。 Alice 和 Bob 轮流操作(Alice 先手),每回合选择一 ...
分类:
其他好文 时间:
2020-05-05 18:31:13
阅读次数:
81
LCA( ),最近公共祖先,定义为两节点最近的公共祖先~~好像是废话~~ 前置芝士: 图论 此文章中均设 $\mathrm{fa}_i$ 为 $i$ 的父亲,$\mathrm{dep}_i$ 为 $i$ 的深度。 暴力 显然我们找出节点的所有祖先再 $n^2$ 比较即可。 当然你也可以一层层往上跳。 ...
分类:
其他好文 时间:
2020-05-03 10:18:17
阅读次数:
119
最近公共祖先( ) 1. 概念 对于有根树 的两个结点 ,最近公共祖先 表示一个结点 ,满足 是`u,v`的 深度最大 的 祖先 节点。 算法分为 离线算法 和 在线算法 离线算法 ( ),是指基于在执行算法前输入数据已知的基本假设,也就是说,对于一个离线算法,在开始时就需要知道问题的所有输入数据, ...
分类:
其他好文 时间:
2020-05-02 09:31:09
阅读次数:
64
题目描述: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树: root = [ ...
分类:
其他好文 时间:
2020-05-01 12:29:53
阅读次数:
54
题面 给定 n 个节点的有根树,根是 1 号节点。 你可以选择 k 个节点将其设置为工业城市,其余设置为旅游城市。 对于一个工业城市,定义它的幸福值为工业城市到根的路径经过的旅游城市的数量。 你需要求出所有工业城市的幸福值之和的最大可能值。 $1 using namespace std; defin ...
分类:
其他好文 时间:
2020-04-17 23:57:48
阅读次数:
132
LINK: "模板 树同构" 题目说的很迷 给了一棵有根树 但是重新标号 言外之意还是一棵无根树 然后要求判断是否重构。 由于时无根的 所以一个比较显然的想法暴力枚举根。 然后做树hash或者树的最小表示法。 前者做一次时n^2logn的 而后者则是严格的n^2logn的。 这样加上暴力枚举根就是n ...
分类:
其他好文 时间:
2020-04-16 15:24:26
阅读次数:
64
题目描述 树是一种很常见的数据结构。 我们把 $N$ 个点,$N 1$ 条边的连通无向图称为树。 若将某个点作为根,从根开始遍历,则其它的点都有一个前驱,这个树就成为有根树。 对于两个树 $T_1$ 和 $T_2$,如果能够把树 $T_1$? 的所有点重新标号,使得树 $T_1$? 和树 $T_2$ ...
分类:
其他好文 时间:
2020-04-16 15:08:13
阅读次数:
72
传送门:https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/ 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示 ...
分类:
其他好文 时间:
2020-04-15 18:10:47
阅读次数:
71
Q:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树: root =?[3,5,1,6,2 ...
分类:
其他好文 时间:
2020-04-14 15:16:03
阅读次数:
53