E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
ACM算法_线段树
入门
线段树
和树状数组
更好的阅读体验 学习了一周的
线段树
和树状数组,深深地体会到了这每种操作几乎都是O(logN)O(logN)O(logN)级别的数据结构的美,但是做起题来还是相当痛苦的(特别是一开始只会模板的时候,很难灵活运用
线段树
的性质
ailanxier
·
2020-09-14 06:48
线段树
数据结构
树状数组查询离散化
我们很多时候,对
线段树
或者树状数组都是进行在线操作的,边读入操作边修改。但是用树状数组来解决一些题目时,得依赖离线操作来限制在树状数组内信息的范围。
ailanxier
·
2020-09-14 06:17
线段树
线段树
差分及其应用
更好的阅读体验简述概念和应用 所谓的差分,其实就是后一项与前一项的差,对于第一项而言,a[0]=0a[0]=0a[0]=0。设数组a[]={1,9,3,5,2}a[~]=\{1,9,3,5,2\}a[]={1,9,3,5,2},那么差分数组t[]={1,8,−6,2,−3}t[~]=\{1,8,-6,2,-3\}t[]={1,8,−6,2,−3},即t[i]=a[i]−a[i−1]t[i]=a[
ailanxier
·
2020-09-14 06:16
线段树
【SNOI2017】炸弹(
线段树
优化建边+Tarjan缩点+拓扑排序)
线段树
优化这就是这道题的主要方法:给一个区间连边而不是区间里的每一个点,这样的话时间复杂度就会降成log的复杂度,变成了nlogn,这个复杂度在我们可接受范围之内。
Zbw_OIer
·
2020-09-14 06:05
线段树
图论
Tarjan
线段树
关于对
线段树
模板的简化:在刚开始学
线段树
时,我们学习的是利用完全二叉树的性质来建立子节点:左儿子的节点等于父亲节点序号乘2,右儿子的节点的序号等于左儿子的节点数加1,并且选用结构体的方式来存储信息。
Zbw_OIer
·
2020-09-14 06:35
数据结构
线段树
线段树模板
【题解】洛谷3285方伯伯的OJ (SCOI2014)
首先,先对楼上那位用
线段树
解决此题的dalaol_h_j致敬——因为这个思路我们是同时想到的,但他只用了一次就搞定了,我却写了足足两个晚上(最后还因为把202020写成272727调了一个小时)。。。
SSH_oj
·
2020-09-14 06:40
题解
P2184 贪婪大陆
线段树
(优化:区间修改变为单点修改)
题目背景面对蚂蚁们的疯狂进攻,小FF的Towerdefence宣告失败……人类被蚂蚁们逼到了GreedIsland上的一个海湾。现在,小FF的后方是一望无际的大海,前方是变异了的超级蚂蚁。小FF还有大好前程,他可不想命丧于此,于是他派遣手下最后一批改造SCV布置地雷以阻挡蚂蚁们的进攻。题目描述小FF最后一道防线是一条长度为N的战壕,小FF拥有无数多种地雷,而SCV每次可以在[L,R]区间埋放同一种
我想打职业
·
2020-09-14 05:19
线段树
贪婪大陆(
线段树
)
贪婪大陆描述Description:人类被蚂蚁们逼到了GreedIsland上的一个海湾。现在,小孟晗(大佬)的后方是一望无际的大海,前方是变异了的超级蚂蚁。小孟晗还有大好前程,他可不想命丧于此,于是他派遣手下最后一批改造SCV布置地雷以阻挡蚂蚁们的进攻。小孟晗最后一道防线是一条长度为N的战壕,小孟晗拥有无数多种地雷,而SCV每次可以在[L,R]区间埋放同一种不同于之前已经埋放的地雷。由于情况已经
BIGBIGPPT
·
2020-09-14 05:40
线段树
题解 P2184 【贪婪大陆】
我看见没有C++的
线段树
写法,所以来发一波题解。这是一个代码简单的
线段树
,但其实不是很容易想到这种思路。
steve95
·
2020-09-14 05:30
线段树
线段树
(1)(转载的呀)--41℃Programmer.mht
线段树
基础知识从简单说起,
线段树
其实可以理解成一种特殊的二叉树。但是这种二叉树较为平衡,和静态二叉树一样,都是提前已经建立好的树形结构。
zixiaqian
·
2020-09-14 05:31
存储
【洛谷P3373
线段树
2】乘法加法模板
线段树
https://www.luogu.org/problem/P3373这个模板题可真是有点意思。。。重点在lazytag上,加上乘法操作的tag。update乘的时候要把加的标记也乘一下!下放标记的时候也要记得先乘后加!#include#include#defineMAXN1000001#definelllonglongusingnamespacestd;unsignedlln,m,P,a[MAX
YuanSnowing
·
2020-09-14 05:35
线段树
[USACO07JAN]Balanced Lineup
OJ题号:洛谷2880思路1:
线段树
维护区间最大最小值。
weixin_34034261
·
2020-09-14 05:33
[洛谷P3865]【模板】ST表
题目大意:区间静态最大值题解:ST表,zkw
线段树
ST表:st[i][j]存[i,i+$j^{2}$-1]的最大值,查询时把区间分成两个长度相同的小区间(可重复)#include#includeusingnamespacestd
weixin_33946020
·
2020-09-14 05:01
poj2299--B - Ultra-QuickSort(
线段树
,离散化)
Ultra-QuickSortTimeLimit:7000MSMemoryLimit:65536KTotalSubmissions:41215Accepted:14915DescriptionInthisproblem,youhavetoanalyzeaparticularsortingalgorithm.Thealgorithmprocessesasequenceofndistinctinteg
刀刀狗0102
·
2020-09-14 04:31
数据结构
计算几何
洛谷 P3373
线段树
2
洛谷P3373
线段树
2mul和pls更新某区间左右子树sum的时候,别忘了回头更新这个区间的sum只有在传递给子序列之后,父序列的lz标记才能清零。
一步一步地往上爬
·
2020-09-14 04:36
线段树
线段树
洛谷
P3373
洛谷P3373
线段树
2
题目描述区间查询区间修改,非常明显的
线段树
模板,但乘法和加法的结合,使问题有了些小改动;problem:该题唯一的难点就是加法和乘法的lazytag的处理,设目前区间N.s(即区间和)=x,若先加b再乘
EQSAN
·
2020-09-14 04:21
线段树
洛谷P3373 【模板】
线段树
2
在洛谷随便找了一题
线段树
的模板题,洛谷大牛的题解真是好评~题目链接大神题解题目先给一个数组,然后给出一些操作操作1:格式:1xyk含义:将区间[x,y]内每个数乘上k操作2:格式:2xyk含义:将区间[
Peiwen123
·
2020-09-14 04:23
algorithm
[洛谷P3865] ST表
这里的解决方法采用ST表思想:首先先回顾一下
线段树
的想法,将一个数列不断二分,并记录当前管辖区间内的最值。
SuperSASS
·
2020-09-14 04:45
数据类型与算法[教程向
ST表
动态规划
倍增
RMQ问题
洛谷 P3373
线段树
(用
线段树
维护,考虑加和乘的顺序)
题目链接:https://www.luogu.com.cn/problem/P3373加和乘的顺序不同会对结果造成影响。1.(a+b)*c=a*c+b*c;2.a*c+b结果是不同的处理办法:添加乘法标记时,把加法标记*c即可。需要mul和add两个标记分别标记乘法和加法懒惰标记下传时add更新为:add*父亲的mul+父亲的addmul更新为:mul*父亲的mul代码:#include#incl
zaiyang遇见
·
2020-09-14 04:54
线段树和树状数组
线段树
2019中国大学生程序设计竞赛(CCPC) - 网络选拔赛(部分)
文章目录^&^(规律)array(权值
线段树
)WindowsOfCCPC(模拟打表)ShuffleCard(模拟+队列)钓鱼(思维+优先队列)Path(思维+优先队列)^&^(规律)题意:给出A,B,找出
coder370
·
2020-09-14 03:59
线段树
[kuangbin专题](待更新)
文章目录A-敌兵布阵(模板,基础
线段树
)C-ASimpleProblemwithIntegers(Lazy_tag)D-Mayor'sposters(区间覆盖+离散化)E-JustaHookF-CounttheColorsGH-Canyouanswerthesequeries
coder370
·
2020-09-14 03:59
计蒜客ICPC2019 (区域赛 上海)
www.jisuanke.com/contest/3003B题Lightbulbs(思维)题意:给出n个灯泡,一开始都是暗的,给出m个询问,每个询问给出l和r,表示对该区间操作(打开或关闭),最后输出亮着的灯有多少,一开始用
线段树
差分
coder370
·
2020-09-14 03:27
比赛
BZOJ 1636: [Usaco2007 Jan]Balanced Lineup
方法很多倍增,
线段树
,树状数组都是可以的,似乎还可以用splay?维护区间最大值和最小值推荐用倍增虽然我写了树状数组。。。。
bababaab
·
2020-09-14 03:28
树状数组
usaco
bzoj
倍增
线段树
洛谷P3373
线段树
模板2
题目:https://www.luogu.org/problemnew/show/P3373带乘的
线段树
,更新时把加的标记也乘一下,然后取值时先乘后加。
aodan5477
·
2020-09-14 03:24
LIS的另一种简单做法nlogn(带路径)
严格单调递增第一种做法是离散化+树状数组/
线段树
,这种方法学了树状数组的人都能想得到。第二种是二分+dp。小了个常数,时间和空间要稍稍比前面的快那么一些。
acerlawson
·
2020-09-14 03:46
tricks
lis
poj2299 B - Ultra-QuickSort(
线段树
与树状数组求逆序对数)
题目:Inthisproblem,youhavetoanalyzeaparticularsortingalgorithm.Thealgorithmprocessesasequenceofndistinctintegersbyswappingtwoadjacentsequenceelementsuntilthesequenceissortedinascendingorder.Fortheinputs
Zhangcan233
·
2020-09-14 03:07
线段树
树状数组
洛谷 P3372
线段树
1
今天植树节,来种一棵
线段树
。
Dawn_LLLLLLL
·
2020-09-14 03:41
线段树
洛谷 P3313 [SDOI2014]旅行(树链剖分+
线段树
)
每个宗教建一棵
线段树
,动态开点,编号按树链剖分后的新编号,维护的是城市评价。那么改变评级就相当于改变某
线段树
内的值,改变宗教就相当于换根(移到另一棵
线段树
内)。求值时按链往上跳,统计答案。
Dawn_LLLLLLL
·
2020-09-14 03:41
线段树
树链剖分
洛谷 P1198 [JSOI2008]最大数(
线段树
)
传送门题目描述现在请求你维护一个数列,要求提供以下两种操作:1、查询操作。语法:QL功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。(L>=0)2、插入操作。语法:An功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾。限制:n是整数(可能为负数)并且在长整
Dawn_LLLLLLL
·
2020-09-14 03:41
线段树
洛谷 P3373
线段树
2
作为一道调了三天的模板题,真的太虐心了对于理解
线段树
大有用处。
Dawn_LLLLLLL
·
2020-09-14 03:41
线段树
洛谷T44252 线索_分治
线段树
_思维题
分治
线段树
,其实就是将标记永久化,到最后再统一下传所有标记。至于先后顺序,可以给每个节点开一个时间戳。一般地,分治
线段树
用于离线,只查询一次答案的题目。本题中,标记要被下传222次。
EM-LGH
·
2020-09-14 03:48
思维题
分治线段树
洛谷P3373
线段树
洛谷P3373
线段树
模板题,主要对懒标的处理要求比较高。
hesorchen
·
2020-09-14 03:11
#
线段树
数组中的逆序对(离散化+sum型
线段树
)
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例1:输入:[7,5,6,4]输出:5限制:0//拓展数据域,加上idtemplatevector>expand(vectorv){vector>ans;ans.resize(v.size());for(inti=0;ivectorfdraw(vector>v){vecto
csuzhucong
·
2020-09-14 02:29
new
【CCF历年题题解】201709-5 除法【树状数组,
线段树
】
文章目录算法1:暴力(30分)算法2:树状数组(100分)算法3:
线段树
(?)算法1:暴力(30分)观察到30%的评测用例,不会做的可以暴力骗30分。
I"ll carry you
·
2020-09-14 01:16
CCF历年题题解
CCF CSP 2019-12-05 魔数
BFS搜出所有转移状态然后+
线段树
+懒标记+__int128乘法运算+动态规划优化build函数的节点初始化少了任何一个优化都过不去一个优化都不少也有可能过不去,时间卡的太极限了,可能还有极致的优化,暂时还没想到
hbulzh
·
2020-09-14 01:42
BFS
线段树
线段树
bfs
CCF历年4,5题收录
不会,)201912-4区块链(题目太长,没看懂…)201912-5魔数【BFS,
线段树
?】(不懂,…)201909-4推荐系统【STL综合?map,set,unordered_map,重载排序?】
I"ll carry you
·
2020-09-14 01:38
CCF历年题题解
线段树
&树状数组
前言今天我们以三个例题来详解并对比这几种算法的优缺点注:若只学习概念可直接看概念及对比,例题无所谓概念##
线段树
线段树
是一棵二叉搜索树,与区间树相似,使用它可以快速的查找一个节点在若干条线段中出现的次数
ssl_xxy
·
2020-09-14 01:45
库
算法讲解
树
线段树
+树状数组模板
建树+单点更新+区间更新+区间查询constintmaxn=300010;inta[maxn],ans[maxn>1;build(p>1;//pushdown(p,m-l+1,r-m);若既有点更新又有区间更新,需要这句话if(L>1;pushdown(p,m-l+1,r-m);if(Lm)update(p>1;pushdown(p,m-l+1,r-m);//若更新只有点更新,不需要这句llsum
trnbf
·
2020-09-14 01:09
[luoguP2672] 推销员(贪心 + 树状数组 + 优先队列)
(
线段树
超时了。。。。)代码#include#include#include#defineN100001#definelsnowp[y].a*2+p[y].b?
weixin_30433075
·
2020-09-14 01:54
线段树
+树状数组整理
线段树
和树状数组在很多时候都可以用来处理相同的问题,特别是在用来进行RMQ离线处理时候两者各有所长,故放在一起整理。
seagullcugb
·
2020-09-14 01:01
题目
线段树
与树状数组
一:
线段树
问题(单点与区间)1:
线段树
问题(单点修改,区间内单点询问)(题目链接)ProblemDescription很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。
搬砖的小孩有肉吃
·
2020-09-14 00:20
线段树和树状数组
树
不太强的
线段树
区间更新模板
由于每次比赛
线段树
都是手写的,风险较大易背锅,为了保证
线段树
不再翻车,这一次认认真真的写了一个
线段树
模板。
Lv1_kangdi
·
2020-09-14 00:24
acm
codeforces 893F 主席树||
线段树
合并
题意:有一颗树,树上每个点有给定点权,有m次询问,每次询问点x的所有子树中,与x的距离小于等于k的所有点的点权最小值是多少。题目要求强制在线。思路:主席树解法:按照dfs序在树上建立主席树,询问是查询x节点的管辖的那段区间,属于经典操作,问题在于如何控制距离小于等于k,于是我们可以按照点的深度来建主席树,虽然最小值问题不满足前缀相减的性质,但实际上我们并不需要减掉1到dep[x]这段区间,因为x节
Lv1_kangdi
·
2020-09-14 00:24
acm
主席树经典区间第k大模板(不带修改&&带修改)
此模板作用为经典的查询区间第k大不带修改:复杂度O(nlogn)带修改:复杂度O(n∗(logn)^2)不带修改的主席树就是在前一棵树的基础上重建其中一条链,其余的链都和原来的公用,相当于logn的复杂度新建一颗
线段树
代码如下
Lv1_kangdi
·
2020-09-14 00:24
acm
线段树
,树状数组
线段树
博客分类:算法
线段树
的构造思想
线段树
是一棵二叉树,树中的每一个结点表示了一个区间[a,b]。每一个叶子节点表示了一个单位区间。
pi9nc
·
2020-09-14 00:29
算法
C++
数据结构
推销员 (贪心
线段树
)
https://www.luogu.org/problemnew/show/P2672题意很简单,pass题意很简单,pass题意很简单,pass题解:题目说了:在不走多余路的前提下,求最大的疲劳值。不走多余路意思就是不能绕来绕去地走,也就是往前走到最远处后只能往回走,不能有两次以上的折返。因此可以直接贪心。对于x=1x=1x=1的情况,答案肯定就是2∗s[i]+a[i]2*s[i]+a[i]2∗
WayJasy
·
2020-09-14 00:27
线段树
贪心
线段树
bzoj2716 [Violet 3]天使玩偶 k-d树
线段树
可以看成是一维线段上的kdtree这样建出来的树可以资瓷在线插入、询问等操作。复杂度在随机数据下是log的但是能被人工数据卡成n√,复杂度在很大程度上取决于估价函数的选取,也就是在查询过程
olahiuj
·
2020-09-14 00:11
c++
k-d树
线段树
与树状数组的区别
线段树
和树状数组的基本功能都是在某一满足结合律的操作(比如加法,乘法,最大值,最小值)下,O(logn)的时间复杂度内修改单个元素并且维护区间信息。不同的是,树状数组只能维护
honghuidan
·
2020-09-14 00:56
ACM
(转)【NOIP模拟题】【
线段树
】【扫描线】2016.11.17 第三题 矩形 题解
因为今天的第三题不会(其实是不想打),所以转来一篇某大大的题解。转自@Star_Weeper矩形文件名:brother.pas/c/cpp时限:1S空间:256MDescription胜负胸中料已明,又从堂上出奇兵。秋实大哥是一个下棋好手,独孤求败的他觉得下棋已经无法满足他了,他开始研究一种新的玩法。在一个n×m的棋盘上,放置了k个车,并且他在棋盘上标出了q个矩形,表示矩形内部是战略要地。秋实大哥
MaverickFW
·
2020-09-14 00:11
t68
NOIP模拟题
线段树
扫描线
线段树
与树状数组学习总结——
线段树
线段树
什么是
线段树
先说一下什么是
线段树
吧大家都知道,初中课本中对于线的定义:点动成线那么就是说一条线段可以分成若干个点,再想想我们最常用的一维数组,构成数组的是一个个的变量,如果把变量看成一个个点,那么数组就是一条线了
Liukairui
·
2020-09-14 00:39
算法学习总结
#
树状数组
上一页
22
23
24
25
26
27
28
29
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他