随笔分类 -  数据结构

摘要:区间最大值,$O(nlogn)$ 预处理,$O(1)$ 查询,不能动态修改。在查询次数M显著大于元素数量N的时候看得出差距。 令 $f[i][j]$ 表示 $[i,i+2^j-1]$ 的最大值。 显然, $f[i][0]=a[i]$ 。 根据定义式,写出状态转移方程: $f[i][j]=max(f[ 阅读全文
posted @ 2019-04-23 16:55 韵意
摘要:维护一些满足结合律又满足结合律的群,也就是交换群,与线段树不同,线段树只需要满足结合律,是幺半群。 原因在于线段树的区间操作是真正的从小区间合并上来的,但是树状数组是来源于两个前缀和作差,这就要求这个“前缀和”拥有逆元,也就是“减法”。 这样,拥有逆元运算的就可以使用树状数组维护。 单点加值,区间查 阅读全文
posted @ 2019-03-14 23:11 韵意
摘要:heap,也就是堆,作为常用的优先队列的替代品,其实还是有优越性的。 make_heap(v.first(),v.end(),cmp()) 把容器调整成堆。 push_heap(v.first(),v.end(),cmp()) 在容器本身是堆,往容器的end中插入后,把end后移,再调用这个。 po 阅读全文
posted @ 2019-01-25 14:25 韵意