数据结构
文章平均质量分 93
verjun
这个作者很懒,什么都没留下…
展开
-
GSS系列(1)
关于GSSSPOJ上一个专题,名为Can you answer these queries,包含线段树,平衡树,树链剖分的练习共8道GSS1传送门题目大意你有一个序列A[1],A[2],…A[n]A[1],A[2],…A[n]A[1],A[2],…A[n],有mmm次询问,每次询问一个序列(x,y)(x,y)(x,y),请你求出一组(i,j)(i,j)(i,j),要求x≤i≤j≤yx\l...原创 2019-11-14 18:06:13 · 622 阅读 · 0 评论 -
树的直径
定义树上任意两点间最短距离的最大值。两种做法dfs(bfs)算法流程step 1:step\space 1:step 1:随便选取一个点ppp,dfs找到离ppp最远的点qqq。step 2:step\space 2:step 2:对qqq进行同样的dfs,树上所有点离qqq的最短距离则为该树的直径。时间复杂度:O(n)O(n)O(n)正...原创 2019-10-21 10:41:45 · 330 阅读 · 0 评论 -
中级数据结构——堆
堆的定义堆(heap)(heap)(heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质堆中某个节点的值总是不大于或不小于其父节点的值堆总是一棵完全二叉树下面是堆的图片![](https://cdn.luogu.com.cn/upload/image_hosting/8bz6gsei.png]堆的实现由于代码实现过于麻烦,且不...原创 2019-09-25 09:17:30 · 204 阅读 · 0 评论 -
单调队列基础
经典例题:滑动窗口链接:luoguP题意简述:你有NNN个数,有一段长度为kkk的区间从左至右滑动,每次滑动一个单位问每次滑动后区间内的最大值与最小值。(n≤106)(n\le10^6)(n≤106)下面是一个例子。考虑暴力,时间复杂度O(n2)O(n^2)O(n2),显然不能通过10610^6106的数据。再考虑使用我们的线段树O(nlogn)+O(nlogn)O(nlogn)+O(...原创 2019-10-10 08:36:29 · 240 阅读 · 0 评论