-----数据结构-----
EW_DUST
这个作者很懒,什么都没留下…
展开
-
K - Random Numbers Gym - 101466K ------线段树+DFS序
K. Random Numberstime limit per test2.0 smemory limit per test256 MBinputstandard inputoutputstandard outputTamref love random numbers, but he hates recurrent relations, Tamref think...原创 2018-08-19 18:07:34 · 310 阅读 · 0 评论 -
2019 Multi-University Training Contest 2 1012 Longest Subarray
Longest Subarray HDU 6602题意: n个数,求区间内 数的个数要么为0个要么大于等于k个的长度最长是多少。题解:解法一: 不完美算法,每次枚举计算区间内所有数的个数有多少个,如果没有数的个数小于k的就更新答案,如果有就把这几个数标记,然后这些数会把原本的数组分成几段,然后在这几段中继续求。理论上这种写法会超时,实际上就是超时了,所以我们把分的次数限定一下,如果分了超过...原创 2019-07-25 00:17:33 · 327 阅读 · 0 评论 -
2019牛客暑期多校训练营(第三场)F Planting Trees
2019牛客暑期多校训练营(第三场)F Planting题意: 一个N∗NN \ast NN∗N 的矩阵,问最大值和最小值大小差距不超过MMM的最大子矩阵多大。题解: 题目明示你要使用O(N3)O(N^3)O(N3)的杂度,暴力枚举子矩阵高度xxx,做一个预处理,把a[i][j]a[i][j]a[i][j]到a[i+x][j]a[i+x][j]a[i+x][j]的最大最小值处理出来,压缩成一行...原创 2019-07-26 20:11:37 · 311 阅读 · 0 评论 -
单调栈和单调队列
理解单调栈和单单调队列之前,要明白一种技巧,叫做尺取法。尺取法尺取法,两个位置,一个是l,一个r,r一位位的左移,l根据条件左移。比如POJ 3061求最大连续字串和不超过sl r初始化为0,r左移,总和加上r位置的值,如果总和一旦大于s,l开始左移,直到满足[l,r]区间的总和小于s,这种通过l,r反复推进的方法,就叫尺取法。细心的人可以发现,这种方法,求结果一定要满足,右边一个位置...原创 2019-07-26 20:15:04 · 298 阅读 · 2 评论 -
2019牛客暑期多校训练营(第八场)Flower Dance
2019牛客暑期多校训练营(第八场)Flower Dance** 题意: ** 给nnn个点 mmm条边,每条边有一个权值区间,表示能通过这个区间的 值的范围,问从111到nnn可以通过的权值有多少个。** 题解: **1.DFS线段树+离散化+并查集这个线段树,其实也不能算是个正常的线段树,他build 的之后就没啥用了,没有更新和查询.。。直接在线段树上dfs,首先把权值离散化,然后存...原创 2019-08-13 21:47:42 · 155 阅读 · 0 评论 -
2019牛客暑期多校训练营(第八场) Distance
2019牛客暑期多校训练营(第八场) Distance题意: 给你一个 n∗m∗hn* m * hn∗m∗h 的空间,每次插入一个点,或者询问空间中点到这一点的最小曼哈顿距离。题解:1.HASH+三维BIT三维BIT,对于这种写法,太巨了,n∗m∗h<1e5n * m * h < 1e5n∗m∗h<1e5 特么直接用三维BIT 存一下就可以了,枚举八个方向...原创 2019-08-13 21:49:49 · 153 阅读 · 0 评论 -
2019牛客暑期多校训练营(第七场) E Find the median
2019牛客暑期多校训练营(第七场)Find the median题意: 先把输入处理一下,没啥问题吧。处理完后应该相当于每次在一个集合里面加入l,r之间所有的数,问中位数是多少。题解: 这题很有意思,离散化+线段树 就能做,就相当于在线段树上求第sum/2个数在哪。比较朴素的就是先把所有的l,r保存下来,然后把他离散化,然后对离散化后的值做插入删除操作,我根据线段树动态开点的操作,写了个在...原创 2019-08-09 19:59:00 · 307 阅读 · 0 评论 -
树链剖分原理和实现
树链剖分原理和实现树链剖分就是将树分割成多条链,然后利用数据结构(线段树、树状数组等)来维护这些链。首先就是一些必须知道的概念:重结点:子树结点数目最多的结点;轻节点:父亲节点中除了重结点以外的结点;重边:父亲结点和重结点连成的边;轻边:父亲节点和轻节点连成的边;重链:由多条重边连接而成的路径;轻链:由多条轻边连接而成的路径;树链剖分比如上面这幅图中,用黑线连接的结点都是...转载 2019-08-24 11:36:36 · 167 阅读 · 0 评论