多叉转二叉,前提是我们仍要把树的信息保留下来,也就是谁是谁的孩子,谁是谁的兄弟。但是二叉只能保存两个孩子,但我们可以把两个孩子改成两个关系,也就是我们利用二叉来储存关系,一个是孩子,一个是兄弟。 于是,就出现了网上广泛介绍的方法,当一个节点是另一个节点的孩子时,就放在父亲节点的左孩子上,是兄弟,就该 ...
分类:
其他好文 时间:
2017-01-19 11:12:11
阅读次数:
151
一个LCT看了一天了,但是很多地方还是理解的很模糊,简单谈一下理解。 LCT支持的是对于森林的分裂、合并,以及查询节点的连通性等操作。 对于这片森林来说,它是由一坨树组成的,对于每一棵树,我们采用类似于树链剖分的方法,把它分割成若干条链,称为树链。 对于每条树链,维护它的顶点和父亲节点(就是顶点的父 ...
分类:
其他好文 时间:
2017-01-16 19:20:48
阅读次数:
132
题目链接:dingyeye loves stone 题意:给出一棵树,树上的每个节点都有石子若干, 两人博弈,每次操作都可以把任意节点的任意石子数转移到它的父亲节点, 若无法操作则输,给出树上的节点及石子数,问先手是否能赢 分析:“阶梯博弈”,若深度为偶数的节点,对方移多少石子,我们就移多少。故偶数 ...
分类:
其他好文 时间:
2016-12-18 01:48:37
阅读次数:
181
4.1 预备知识 定义: 树的递归定义:一棵树是一些节点的集合,这个集合若为空集;否则由一个根结点以及该节点的0个或者若干个非空子树组成,这些子树都与该根节点有边连接。 树叶:没有子节点的节点。 兄弟(Siblings):有相同父亲节点的节点。 节点n1到nj的路径:一个节点 序列:n1,n2... ...
分类:
编程语言 时间:
2016-12-13 23:23:38
阅读次数:
174
题意:给出每个人的家庭成员信息和自己的房产个数与房产总面积,让你统计出每个家庭的人口数、人均房产个数和人均房产面积。第一行输出家庭个数,随后每行输出家庭成员的最小编号、家庭人口数、人均房产个数、人均房产面积。 并查集,合并的时候编号小的作为父亲节点,最后父亲节点一样的即属于一个家庭,其它都是细节处理 ...
分类:
其他好文 时间:
2016-12-04 19:48:56
阅读次数:
182
题目链接: http://poj.org/problem?id=1182 题意: 中文题就不用说了把~ 思路: 带权并查集 把能确定关系的x, y 合并到并查集中; 我们可以用rank[x]记录x与其父亲节点的关系, 注意不是x与根节点的关系,是其与父亲节点的关系!!! rank[x]=0表示x与其 ...
分类:
其他好文 时间:
2016-11-29 22:35:24
阅读次数:
155
题目描述 Description 小机房有棵焕狗种的树,树上有N个节点,节点标号为0到N-1,有两只虫子名叫飘狗和大吉狗,分居在两个不同的节点上。有一天,他们想爬到一个节点上去搞基,但是作为两只虫子,他们不想花费太多精力。已知从某个节点爬到其父亲节点要花费 c 的能量(从父亲节点爬到此节点也相同), ...
分类:
其他好文 时间:
2016-11-15 16:44:52
阅读次数:
168
题目描述 Description 小机房有棵焕狗种的树,树上有N个节点,节点标号为0到N-1,有两只虫子名叫飘狗和大吉狗,分居在两个不同的节点上。有一天,他们想爬到一个节点上去搞基,但是作为两只虫子,他们不想花费太多精力。已知从某个节点爬到其父亲节点要花费 c 的能量(从父亲节点爬到此节点也相同), ...
分类:
其他好文 时间:
2016-11-06 16:38:07
阅读次数:
197
order Description 给出一棵二叉树的中序遍历和每个节点的父节点,求这棵二叉树的先序和后 序遍历。 Input 输入第一行为一个正整数 n 表示二叉树的节点数目, 节点编号从 1 到 n,其中 1 为根节点。第 2 行有 n 个数字, 第 i 个数字表示 i 的父亲节点。( 1 的父亲 ...
分类:
其他好文 时间:
2016-10-18 02:38:33
阅读次数:
150
考虑到数据结构短板严重,从计算几何换换口味= = 二叉堆 简介 堆总保持每个节点小于(大于)父亲节点。这样的堆被称作大根堆(小根堆)。 顾名思义,大根堆的数根是堆内的最大元素。 堆的意义在于能快速O(1)找到最大/最小值,并能持续维护。 复杂度 push() = O(logn); pop() = O ...
分类:
其他好文 时间:
2016-10-16 01:48:04
阅读次数:
189