![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树形结构
姬小野
这个作者很懒,什么都没留下…
展开
-
P1738洛谷的文件夹-树形结构-模拟
题目链接 题目描述kkksc03是个非凡的空想家!在短时间内他设想了大量网页,然后总是交给可怜的lzn去实现。洛谷的网页端,有很多文件夹,文件夹还套着文件夹。例如:/luogu/application/controller表示根目录下有一个名称为luogu的文件夹,这个文件夹下有一个名称application的文件夹,其中还有名为controller的文件夹。每个路径的第1个字...原创 2018-09-10 12:30:35 · 309 阅读 · 1 评论 -
剑指offer之二—最小的k个数
文章目录问题描述方法一:排序 `O(nlogn)`方法二:找出第k大的数 `O(n)`方法三:使用二叉树 `O(nlogk)`算法思想最大堆版multiset版(红黑树)问题描述给定一个数组,求这个数组最小的k个数。方法一:排序 O(nlogn)最直观的方法大概就是排序了,排序大法好,很多问题排个序就可以解决,然而功能过剩的排序显然不是此问题的最佳解法。使用快排的话,平均时间复杂度为O(...原创 2018-09-24 17:48:08 · 245 阅读 · 0 评论 -
P2420 让我们异或吧-异或性质-树形结构
题目链接题目描述异或是一种神奇的运算,大部分人把它总结成不进位加法.在生活中…xor运算也很常见。比如,对于一个问题的回答,是为1,否为0.那么:(A是否是男生 )xor( B是否是男生)=A和B是否能够成为情侣好了,现在我们来制造和处理一些复杂的情况。比如我们将给出一颗树,它很高兴自己有N个结点。树的每条边上有一个权值。我们要进行M次询问,对于每次询问,我们想知道某两点之间的...原创 2018-09-11 11:04:11 · 323 阅读 · 0 评论 -
剑指offer之三-数据流中的中位数
问题描述对于一个数据流, 每读入一个数据, 就输出已读入数据的中位数.这道题有很多种方法.一. 暴力一点的是有序数组, 读入一个数据就将其有序化, 然后直接输出中位数. 这样插入一个数复杂度为O(n), 查找为O(1);二. 或者使用有序链表, 插入的复杂度为O(n), 查找为O(1). 为什么查找中位数可以是O(1)? 因为可以定义两个指针, 分别指向中间的两个数, 如果总数为奇数则同...原创 2018-09-25 23:14:25 · 321 阅读 · 0 评论 -
线段相交问题-线段扫描法-set模拟二叉树
线段相交问题: 线段扫描法预处理:对每个线段, 解析其端点信息.线段分两类, 一类与x轴平行, 作为扫描线段, 左端点记为LEFT, 右端点记为RIGHT第二类与y轴平行, 作为区间查询线段, 上端点记为TOP, 下端点记为BOTTOM对每个端点, 其类型为EndPoint, 除了存储坐标外, 还存储其线段下标以及端点类型核心步骤:给线段的端点排序, 按坐标y从小到大的顺序, 如果...原创 2018-09-29 18:47:14 · 474 阅读 · 1 评论 -
随机树生成算法(就是树!)
一个生成随机树(此树非彼数)的算法,树的结点编号从1开始,这个算法生成了树的结点个数、树的结点的权值、树的每条边的结点。如下面是一棵10结点的二叉树的生成结果:10-23 -44 -51 -9 13 51 62 11 -63 19 6 96 49 29 34 74 12 52 83 10 思路是将结点编号1-n push进vector中,然后随机选一个点为root,并从...原创 2019-04-02 12:30:05 · 11545 阅读 · 6 评论