题意: 有一棵棵提米树,满足这样的性质: 每个点上长了一定数量的Temmie 薄片,薄片数量记为这个点的权值,这些点被标记为 1 到 n 的整数,其 中 1 号点是树的根,没有孩子的点是树上的叶子。 定义(a,b)是一对相邻的叶子,当且仅当没有其它的叶子节点在 DFS 序上在a,b 之间。 每对相邻 ...
分类:
其他好文 时间:
2019-10-08 21:46:40
阅读次数:
102
说一下做这道题的思路 如果所有叶子节点到根节点的距离相同 那么对于一棵子树内所有叶子节点到子树根节点的距离相等 有了这个信息,就可以树形dp了 对于每一个节点有两个信息: f[i] : 使得 i 的子树的叶子节点到 i 的距离相等的最小代价 g[i] : i 的子树的叶子节点到 i 相等的距离 这样 ...
分类:
其他好文 时间:
2019-10-07 13:17:32
阅读次数:
100
l 树:满足以下条件: 有且仅有一个根节点。 当节点数大于1时,除根节点为其余节点可以划分为m个互不相交的有限集,其中每一个集合本身又是一棵树,称为子树。 l 概念 Node结点 Degree结点的度 Leaf 叶子结点 分支结点 孩子结点child 父节点 兄弟节点 树的度 结点的层次 树的高度 ...
分类:
其他好文 时间:
2019-10-06 20:32:43
阅读次数:
113
https://codeforces.com/contest/1220/problem/E //思路:由题可知,不能往回走,因此先找出所有的叶子节点,从叶子节点往root根节点去搜索,碰见环则停止,因为在环中的节点是一定可以相互到达的,因此就不会存在一个选择问题 //最后把所有环中的节点w[i]累加 ...
分类:
其他好文 时间:
2019-10-06 18:50:42
阅读次数:
82
题意: 输入三个正整数N,M,S(N<=100,M<N,S<=2^30)分别代表数的结点个数,非叶子结点个数和需要查询的值,接下来输入N个正整数(<1000)代表每个结点的权重,接下来输入M行,每行包括一个两位数字组成的数代表非叶子结点的编号以及数字x表示它的孩子结点个数,接着输入x个数字表示孩子结 ...
分类:
其他好文 时间:
2019-10-06 18:24:10
阅读次数:
65
二叉树 python实现二叉树的结构: 根节点 左叶子节点 右叶子节点 子树 高度 二叉树的遍历: 广度优先(层次遍历) 深度优先: 前序(根左右):把根放到最前面 中序(左根右):把根放到中间 后序(左右根):把根放到最后 排序二叉树 插入节点的时候一定要遵从的原则: 比根节点小的节点同一插入在树 ...
分类:
编程语言 时间:
2019-10-06 11:44:34
阅读次数:
90
二叉树的建立,前序遍历,中序遍历,后序遍历以及求深度和叶子节点个数 ...
分类:
其他好文 时间:
2019-10-05 18:18:05
阅读次数:
74
"传送门:[LeetCode] 104. 二叉树的最大深度" 题目描述 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例 : 给定二叉树 , 返回它的最大深度 3 。 二叉树定义如下: 分析与代码 求最大深度,即 ...
分类:
其他好文 时间:
2019-10-05 16:19:47
阅读次数:
103
1结构 线段树是一个平衡的二元树,所有叶子到根的距离最多只差1。令整个区间的长度为N,则其有N个叶节点,每个叶节点代表一个单位区间,每个内部结点代表的区间为其两个儿子代表区间的联集。 2基本操作 线段树所要提供的是查询一个区间内的资讯,并允许修改操作。要使用线段树,此资讯必须满足对于区间与位于区间内 ...
分类:
其他好文 时间:
2019-10-05 10:25:39
阅读次数:
77
一、左偏树的性质 左偏树,又称可并堆,所以他有堆的性质。 定义几个量:valval表示该节点的值,fafa表示该节点的父亲,ch[2]ch[2]表示该节点的两个儿子(因为他是二叉树),disdis表示这个节点到离他最近的叶子节点的距离。 性质一:该节点的val不大于该节点左右儿子的val 证明:堆。 ...
分类:
其他好文 时间:
2019-10-04 11:49:45
阅读次数:
93