4446: [Scoi2015]小凸玩密室 Description 小凸和小方相约玩密室逃脱,这个密室是一棵有n个节点的完全二叉树,每个节点有一个灯泡。点亮所有灯 泡即可逃出密室。每个灯泡有个权值Ai,每条边也有个权值bi。点亮第1个灯泡不需要花费,之后每点亮4 个新的灯泡V的花费,等于上一个被点亮 ...
分类:
其他好文 时间:
2018-01-21 19:03:47
阅读次数:
156
要求:给出一组数据,根据这组数据创建完全二叉树。 首先,我们知道,数组下标的范围是0到n-1,而在树中编号是从1开始的,下标的范围是1到n; 根据二叉树的性质(将一个完全二叉树按照从上到下,从左到右进行编号,其编号为i的节点,如果满足2*i<=n,则说明编号为i的节点有左孩子,否则没有,如果满足2* ...
分类:
编程语言 时间:
2018-01-20 16:25:15
阅读次数:
228
1. 完全二叉树:叶节点只能出现在最后层或次下层,并且最下面一层的节点都集中在该层的最左边的二叉树。 2. 二叉堆:堆是一颗二叉树,并且满足下面的条件: (1)树的每一层都是满,除了最后一层的最右边元素 (2)任意一个父节点都大于或等于(小于或等于)两个子节点。(大于或等于的为最大堆,小于或等于的为 ...
分类:
编程语言 时间:
2018-01-17 01:13:05
阅读次数:
192
Heap是一种数据结构具有以下的特点: 1)完全二叉树; 2)heap中存储的值是偏序; Min-heap: 父节点的值小于或等于子节点的值; Max-heap: 父节点的值大于或等于子节点的值; 堆的存储: 一般都用数组来表示堆,i结点的父结点下标就为(i–1)/2。它的左右子结点下标分别为2 * ...
分类:
其他好文 时间:
2018-01-15 16:29:26
阅读次数:
209
题目描述 有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。该树是完全二叉树。 输入描述: 输入有多组数据。每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d代表深度。 输出描述: 输出该树中第d层得所有节点,节点间用空格隔开,最后一个节点后没 ...
分类:
其他好文 时间:
2018-01-10 21:29:14
阅读次数:
85
一、堆排序算法的基本特性时间复杂度:O(nlgn)...//等同于归并排序最坏:O(nlgn)空间复杂度:O(1).不稳定。 二、堆与最大堆的建立要介绍堆排序算法,咱们得先从介绍堆开始,然后到建立最大堆,最后才讲到堆排序算法。 2.1、堆的介绍 如下图, a),就是一个堆,它可以被视为一棵完全二叉树 ...
分类:
编程语言 时间:
2018-01-01 11:46:41
阅读次数:
177
线段树是经常使用完全二叉树来实现,也就是使用一个数组来表示(0号元素通常不做使用)。线段树的叶子节点存储的是实际的数据,而非叶子节点存储的是该节点对应区间的信息(比如该区间的最值,求和等)。举例说明,假如非叶子节点存储区间的最小值,数据为[2,5,1,4,9,3],则可以构造出的线段树如下: 更一步 ...
分类:
其他好文 时间:
2018-01-01 00:27:28
阅读次数:
202
树是一对多的结构 结点:树的小圆圈 度:结点有多少个分叉 叶子结点:结点的度为0 双亲:parent 孩子:child 二叉树:树的度不超过2 满二叉树:每一层都是满的 完全二叉树:除了最后一层都是满的,最后一层左边都是齐全连续的。 性质1:对一颗二叉树,第i层最多有2的i-1次方个 性质2:对一颗 ...
分类:
其他好文 时间:
2018-01-01 00:24:31
阅读次数:
125
题目描述 给出一个有 $2^n$ 个叶子节点的完全二叉树。每个叶子节点可以选择黑白两种颜色。 对于每个非叶子节点左子树中的叶子节点 $i$ 和右子树中的叶子节点 $j$ :如果 $i$ 和 $j$ 的颜色都为当前节点子树中颜色较多(相等视为白色)的那个,则不需要付出代价;都为较小的那个则需要付 $2 ...
分类:
其他好文 时间:
2017-12-28 21:44:12
阅读次数:
194
这东西。。。好简单的诶 不过貌似一年前的时候,还没有写博客的习惯 那就来总结一下呗 首先来说大根堆 把大根堆当成一个完全二叉树(这个说法其实不准确) 对于a[i],左儿子为a[i*2]右儿子为a[i*2+1] 也就是说我们已经有一颗树了 然后我们从后往前fix每个节点 fix(x)就是将x放到他该在 ...
分类:
编程语言 时间:
2017-12-25 01:01:35
阅读次数:
144