【并查集】 为实现 在 不相交集合 上的操作 (1.合并两个集合 2.查询某个元素属于哪个集合)而定义的一种数据结构 其实现有两种方式:链表和有根树 【应用】 在图论中 一个联通分量的所有点 对应一个集合 对应的操作可以为 判断两个点是不是在同一个联通分量之中 添加一条边合并两个联通分量 【模板】 ...
分类:
其他好文 时间:
2017-12-06 23:55:43
阅读次数:
333
时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld 题目描述 有 n 棵树,初始时每棵树的高度为 Hi,第 i 棵树每月都会长高 Ai。现在有个木料长度总量为 S 的订单,客户要求每块木料的长度不能小于L,而 ...
分类:
其他好文 时间:
2017-11-28 15:36:34
阅读次数:
153
AVL树的定义 在计算机科学中,AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下的时间复杂度都是。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。AVL树得名于它的发明者G. M. Adels ...
分类:
编程语言 时间:
2017-11-27 23:46:33
阅读次数:
234
Description 有 n 棵树,初始时每棵树的高度为 H_i,第 i 棵树每月都会长高 A_i。现在有个木料长度总量为 S 的订单,客户要求每块木料的长度不能小于 L,而且木料必须是整棵树(即不能为树的一部分)。现在问你最少需要等多少个月才能满足订单。 Input 第一行 3 个用空格隔开的非 ...
分类:
其他好文 时间:
2017-11-27 14:12:59
阅读次数:
134
题目链接:https://loj.ac/problem/6249 题意:有 n 棵树,初始时每棵树的高度为 H?i?,第 i 棵树每月都会长高 A?i??。现在有个木料长度总量为 S 的订单,客户要求每块木料的长度不能小于 L,而且木料必须是整棵树(即不能为树的一部分)。 现在问你最少需要等多少个月 ...
分类:
其他好文 时间:
2017-11-26 23:02:08
阅读次数:
196
基本概念 结点的层次(Level)从根开始定义,根为第一层,根的孩子为第二层。 二叉树的高度:树中结点的最大层次称为树的深度(Depth)或高度。 二叉树 在计算机科学中,二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right sub ...
分类:
其他好文 时间:
2017-11-24 14:54:37
阅读次数:
116
如果不采用路径压缩而只采用按秩合并,那么并查集的可持久化是比较容易实现的。按秩合并可以保证一棵 $n$ 个节点的树的高度是 $O(\log n)$ 的。 实现方法: 用 $r_v$ 表示 $v$ 所在子树的根。 假设要将点 $u$ 和点 $v$ 所在子树和并(也就是将边 $(u,v)$ 加入图中), ...
分类:
其他好文 时间:
2017-11-18 14:17:19
阅读次数:
184
树 树作为一种常用的数据结构,不可不知。树采用的是链式存储,在详细介绍树之前要先了解几个基本概念: 根、节点、孩子、双亲、兄弟、分支 就不多BB了,叶子指的是没有子节点的节点,树的高度指从根到树所有叶子节点的最大长度,节点的度为其子节点的数量,节点的深度为节点到根的路径长度。 二叉树 二叉表示至多两 ...
分类:
其他好文 时间:
2017-11-08 17:37:21
阅读次数:
162
特性:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树,同时,平衡二叉树必定是二叉搜索树,反之则不一定。class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { va ...
分类:
其他好文 时间:
2017-11-02 18:10:39
阅读次数:
138