/* 本题是一个比较简单的堆排序的题目, 思想和之前的合并果子非常像(简直一模一样) 我每次找到数列中最小的俩个进行合并, 再将合并后的数存入数列中 (可以用堆实现,大佬可以无视直接用优先队列,原理是一样的, 我们建立一个二叉树,让每个子节点都大于它的父亲节点 二叉树的根节点就成了最小值) 再找新的 ...
分类:
其他好文 时间:
2018-05-30 01:17:51
阅读次数:
215
题目大意: 给定一棵严格的treap,父亲节点的优先级必然小于儿子节点的。权值按照二叉树的定义,左儿子小于父亲小于右儿子。 深度从1开始定义,每个点除优先级、数值之外,还有一个访问频度。 访问频度所产生的代价是:访问频度*该点深度(这和事实相符) 可以用给定的k的代价,修改任意个点的优先级为任意实数 ...
分类:
其他好文 时间:
2018-05-20 12:53:49
阅读次数:
182
LCT splay只有该点的父亲节点不是根节点的时候才转两次 access的时候需要将节点转到全局的根,所以循环边界为x==0 而splay的时候只要转到当前根就可以了 ...
分类:
其他好文 时间:
2018-04-29 17:41:14
阅读次数:
129
一、思想:分类讨论 二、二叉搜索树的删除操作具体讨论分如下四种情况:(记我们要删除的节点为D) 1、如果D节点既没有左孩子,也没有右孩子,那么直接删除就好了; 2、如果D节点只有左孩子,没有右孩子,那么只需要把该D节点左孩子链接到D节点的父亲节点,然后删除D节点就好了; 3、如果D节点只有右孩子,没 ...
分类:
其他好文 时间:
2018-04-15 13:42:27
阅读次数:
754
术语 1. 节点的度:一个节点含有的子树的个数称为该节点的度; 2. 叶节点或终端节点:度为零的节点; 3. 非终端节点或分支节点:度不为零的节点; 4. 父亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点; 5. 兄弟节点:具有相同父节点的节点互称为兄弟节点; 6. 节点的层次 ...
分类:
其他好文 时间:
2018-03-26 19:48:07
阅读次数:
161
术语 1. 节点的度:一个节点含有的子树的个数称为该节点的度; 2. 叶节点或终端节点:度为零的节点; 3. 非终端节点或分支节点:度不为零的节点; 4. 父亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点; 5. 兄弟节点:具有相同父节点的节点互称为兄弟节点; 6. 节点的层次 ...
分类:
其他好文 时间:
2018-03-18 14:53:25
阅读次数:
131
树链剖分 一个听起来很高级的数据结构 但其实就是一个比较优雅的暴力 树链剖分 字面意思, 就是把树上的路径剖成一条条链 首先是树链剖分的一些定义: size[u] 包括u在内u的子节点个数 son[u] 结点u的重儿子 dep[u] 结点u的深度 fa[u] 结点u的父亲节点 top[u] 结点u所 ...
分类:
其他好文 时间:
2018-03-08 13:58:32
阅读次数:
166
Anniversary party poj-2342 题目大意:没有上司的舞会原题。 注释:n<=6000,-127<=val<=128. 想法:其实就是最大点独立集。我们介绍树形dp 树形dp就是以节点或者及其子树为信息,进行动态规划。用dfs的原理,遍历,在回溯是更新父亲节点。 然后,关于这道题 ...
分类:
其他好文 时间:
2018-03-08 13:53:13
阅读次数:
136
树状数组的高效性主要就是通过将一条线段分成若干个小线段(其中每个小线段存储着2^k大小的区间和,这就将区间和问题复杂度降到了logn),而不是一个一个单一的点 add()操作修改了单点的值,同时对之后的父亲节点进行了更新(之所以只更新该点以及该点的父亲节点而不更新该点的非父亲节点,是因为求和时父亲节 ...
分类:
编程语言 时间:
2018-03-05 11:23:43
阅读次数:
146
【CF725G】Messages on a Tree 题意:给你一棵n+1个节点的树,0号节点是树根,在编号为1到n的节点上各有一只跳蚤,0号节点是跳蚤国王。现在一些跳蚤要给跳蚤国王发信息。具体的信息传输过程如下: 1.信息的发起者把信息上传给他父亲节点处的跳蚤,然后自身进入等待状态。3.跳蚤国王在 ...
分类:
其他好文 时间:
2018-03-04 11:55:01
阅读次数:
162