基础数据结构
jmsyzsfq
sfq666
展开
-
单调栈、单调队列、线段树、LCA、二维树状数组、Bitset讲解
转自lzj209一、单调栈1.问题引入考虑这样一个问题,给出一个数字序列,一段连续的子序列的权值定义为这个子序列中最小的权值乘以子序列的长度,求最大的子序列权值,数据范围O(n)可过。2.问题转化稍加思索我们可以得到一个O(n^2)的算法,但是显然是太慢,我们想办法换一种枚举方式,假如我们枚举每一个数作为最小值,计算这个序列最大能扩张多长,那么这样就优化成了O(n)个数进行比较,于是只要能快速算出一转载 2017-09-22 15:24:54 · 579 阅读 · 0 评论 -
【模板】树状数组(详解)
转自zP1nG树状数组可以解决什么样的问题对于包含n个元素的整数数组a,每次可以 1. C(i, j): 修改一个元素a[i] = j 2. Q(i): 询问前缀Si=a1+a2+…+ai的值lowbit值在说树状数组之前,我们不得不说一下lowbit值 设c[i]=a[i-2k+1]+…+a[i],其中k为i在二进制下末尾0的个数 令LOWBIT(i)=2^k 例如, i=10转载 2017-09-21 14:18:22 · 553 阅读 · 0 评论 -
【并查集模板】洛谷P3367
并查集定义并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。 集就是让每个元素构成一个单元素的集合,也就是按一定顺序将属于同一组的元素所在的集合合并。主要操作初始化: 把每个点所在集合初始化为其自身。通常来说,这个步骤在每次使用该数据结构时只需要执行一次,无论何种实现方式,时间复杂度均为O(N)。 查找: 查找元素所在原创 2017-09-12 20:45:54 · 301 阅读 · 0 评论 -
【poj 2104】K-th Number【整体二分+树状数组】
转自zP1nG传送门DescriptionYou are working for Macrohard company in data structures department. After failing your previous task about key insertion you were asked to write a new data structure that would be转载 2017-09-26 11:28:43 · 384 阅读 · 0 评论 -
【二维树状数组】【模板】poj1195Mobile phones
biu~DescriptionSuppose that the fourth generation mobile phone base stations in the Tampere area operate as follows. The area is divided into squares. The squares form an S * S matrix with the rows and原创 2017-10-12 20:18:56 · 202 阅读 · 0 评论