归并树,划分树,主席树都能做。 https://www.bilibili.com/video/av4619406/?p=2 资源,对主席树的理解还差了一点,不是很明白它是怎么更新每个节点左儿子和右儿子编号的。 ...
分类:
其他好文 时间:
2018-05-17 18:17:53
阅读次数:
190
博客转载自:https://leileiluoluo.com/posts/kdtree-algorithm-and-implementation.html k-d tree即k-dimensional tree,常用来作空间划分及近邻搜索,是二叉空间划分树的一个特例。通常,对于维度为k,数据点数为N ...
分类:
编程语言 时间:
2018-04-06 15:32:22
阅读次数:
371
開始用线段树+归并排序,4700+ms飘过~,后来去学划分树。尽管还不是非常懂,只是就这样吧 #include<iostream> #include<algorithm> #define maxn 100010 using namespace std; int n,m; int nsort[maxn ...
分类:
其他好文 时间:
2018-03-17 16:51:12
阅读次数:
136
定义 划分树是一种基于线段树的数据结构。主要用于快速求出序列区间的第k大值。 划分树的根节点存储原数列 每个节点的左子节点存储它元素中较小的一半,右子节点存储它元素中较大的一半 并且同一个节点中元素的排列和原数列一样 例如1,5,3,4,2构成的划分树如下图所示 ...
分类:
其他好文 时间:
2018-01-25 00:22:59
阅读次数:
137
题意 : 给出一个含有 N 个数的序列,然后有 M 次问询,每次问询包含 ( L, R, K ) 要求你给出 L 到 R 这个区间的第 K 大是几 分析 : 求取区间 K 大值是个经典的问题,可以使用的方法有很多,我听过的只有主席树、整体二分法、划分树、分块…… 因为是看《挑战》书介绍的平方分割方法 ...
分类:
其他好文 时间:
2018-01-19 21:26:21
阅读次数:
141
K-th Number You are working for Macrohard company in data structures department. After failing your previous task about key insertion you were asked t ...
分类:
其他好文 时间:
2017-12-05 21:18:03
阅读次数:
151
题目链接:点击打开链接 思路:划分树模板题。 细节參见代码: #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<string> #include<vector> #include<st ...
分类:
Web程序 时间:
2017-08-21 14:54:13
阅读次数:
387
题目大意:给定一个序列,找到k个长度在[l,r]之间的序列,使得和最大 暴力O(n^2logn)。肯定过不去 看到这题的第一眼我OTZ了一下午。。。后来研究了非常久别人的题解才弄明确怎么回事。。。蒟蒻果然不能理解大神的思路啊0.0 首先维护前缀和,那么以第i个元素结尾的和最大的序列自然就是sum[i ...
分类:
其他好文 时间:
2017-07-16 13:27:25
阅读次数:
159
题目大意: 给定n个点m条边的无向图。求问当图中仅仅有【编号在[l,r]区间内】的边存在时图中的联通块个数 强制在线 注意联通块是指联通了就是同一块,不是Tarjan求的那种块 看到这题的那一刻我就想小便有木有0.0 这尼玛怎么做?可持久化并查集? 暴力? 分块乱搞? 。。。 后来看了HZWER大神 ...
分类:
其他好文 时间:
2017-05-29 21:06:04
阅读次数:
180
题目链接: http://poj.org/problem?id=2104 解题思路: 由于查询的个数m非常大。朴素的求法无法在规定时间内求解。因此应该选用合理的方式维护数据来做到高效地查询。 假设x是第k个数,那么一定有 (1)在区间中不超过x的数不少于k个 (2)在区间中小于x的数有不到k个 因此 ...
分类:
其他好文 时间:
2017-05-24 20:15:15
阅读次数:
287