首页 > 其他分享 >分块与线段树

分块与线段树

时间:2023-01-28 19:12:21浏览次数:26  
标签:需要 分块 线段 合并 信息 维护

分块和线段树的区别在于,
分块算法可以维护一些线段树维护不了的东西,例如单调队列等,
线段树能维护的东西必须能够进行信息合并,而分块则不需要。

那么什么时候需要线段树呢?

显而易见,数据大的时候

那么什么时候需要分块呢?

维护的东西难以进行信息合并的时候

举个例子:
(我也不知道)反正就是分块好打,线段树快,爱用哪个用哪个

2023年1月28日补:
看着引言,发现一个点,分块是在查询时合并区间信息,而线段树是都有合并区间信息,分块只用2次合并(散块*2),而线段树需要\(\log n\)次合并,也就是说需要看合并时的复杂度,如单调队列用分块更加合适

标签:需要,分块,线段,合并,信息,维护
From: https://www.cnblogs.com/SkyMaths/p/17071118.html

相关文章

  • 线段树最大子段
    https://codeforces.com/contest/1359/problem/D线段树最大子段模板structnode{ intl,r; intsum,ms;//maxsumintml,mr;//maxl,maxr}tree[N*4];voidPu......
  • 空间判断点是否在线段上
    目录1.概述2.详论3.参考1.概述判断点是否在线段上的算法非常简单,有很多种实现方式,总结一下我自己的实现。2.详论个人认为通过向量计算的方式是比较好的,因为可以保......
  • Codeforces Round #846 (Div. 2) E. Josuke and Complete Graph(数论分块)
    题意:给定一个区间[L,R],求其中任意两个数字的gcd的不同的种类总数。链接:https://codeforces.com/contest/1780/problem/E其中L<=1e9,1<=L<=R<=1e18。tips:本篇题解中除标......
  • 数据结构 玩转数据结构 9-7 更多线段树相关的话题
    0课程地址https://coding.imooc.com/lesson/207.html#mid=13849 1重点关注   2课程内容2.1区间更新懒惰更新方法,使用lazy数......
  • 数据结构 玩转数据结构 9-6 线段树中的更新操作
    0课程地址https://coding.imooc.com/lesson/207.html#mid=13848 1重点关注1.1线段树中的更新操作见3.1  2课程内容  3......
  • 数论分块(除法分块)
    定义数论分块是个很常见的技巧,常用于计算$$\sum_{i=1}^{n}\left[\frac{k}{i}\right]$$思路原理很简单:设\(t_i\in\{x|x=\left[\frac{k}{i}\right]\}\)我们想办法每次......
  • 【题解】P5787 二分图 /【模板】线段树分治
    概念线段树分治是一种用于维护时间轴等的离线算法,本质上是通过维护时间轴的连续区间得到某一时刻的状态。时间复杂度和普通线段树相同,空间复杂度为\(O(n\logn)\)例题......
  • 线段树分治 / 时间分治 算法笔记
    线段树分治定义线段树的本质就是分治的实体化。我理解的狭义上的线段树指的是支持区间查询修改的一种数据结构,而广义上的线段树则是一种思想——分治实体化的思想。线......
  • 线段树
    线段树是一种可以根据子问题解决父问题的数据结构比如说求一段区间的和(\(\sum_{i=L}^Ra_i=\sum_{i=L}^Ma_i+\sum_{i=M+1}^Ra_i\quad,L\leqM<R\))求一段区间的最大值(\(......
  • 「学习笔记」分块
    layout:posttitle:「学习笔记」分块date:2021-10-29tags:算法分块莫队暴力分块是一种优化暴力的思想,一般情况下用于查询与修改复杂度差距过大的情况。分块......