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
———线段树
主席树【权值
线段树
】(转)
注:本文转自WCR神仙(应WCR本人要求)的博客,传送门:https://blog.csdn.net/g21wcr/article/details/82970228一、权值
线段树
。
Michael_GLF
·
2020-09-12 06:31
————数据结构————
主席树
双lazytag
线段树
板子
题目描述如题,已知一个数列,你需要进行下面两种操作:1.将某区间每一个数加上x2.将某区间每一个数乘上x3.求出某区间每一个数的和输入输出格式输入格式:第一行包含三个整数N、M、P,分别表示该数列数字的个数、操作的总个数和模数。第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来M行每行包含3或4个整数,表示一个操作,具体如下:操作1:格式:1xyk含义:将区间[x,y]内
YIF丶
·
2020-09-12 05:17
洛谷
bzoj
洛谷 P3328 【[SDOI2015]音质检测】
一开始想分块来着,后来发现可以直接
线段树
首先考虑一个性质,我们如果有数列的相邻两项f[i]和f[i+1]那么用这两项向后推k项其线性表示系数一定(表示为f[i+k]=a∗f[i]+b∗f[i+1]+c的形式
ddptun8868
·
2020-09-12 05:53
RMQ问题(ST表)
算法描述ST表是根据倍增的思想设计的基于动态规划的做法,优点是能O(1)O(1)O(1)地查询,缺点是不能像
线段树
那样支持修改。
小胡同的诗
·
2020-09-12 05:14
RMQ
倍增
DP
二进制
POJ 3264 RMQ问题 ST算法
因为之前都是
线段树
解决RMQ问题,省脑子……(因为写的顺手)……但是因为RMQ毕竟常数大,而且其实程序还相对ST要长……以前写过ST算法,但是因为每次都在纠结到底+1呢,还是-1呢,边界问题处理的我蛋都碎了好几次
CMTM4
·
2020-09-12 05:57
RMQ
st
POJ
HDU - 4967 Handling the Past (
线段树
/分块)
解法:构造一棵
线段树
,每个区间需要维护两个值:sum(区间和),maxrsum(区间最大后缀和。首先对
jrltx
·
2020-09-12 05:29
RMQ
线段树
分块
差分
权值
线段树
、主席树学习
传送门:卿学姐的B站视频知乎-“主席树是如何求区间k大的”首先,学习主席树要点的前置技能是权值
线段树
(卿学姐说的是
线段树
,个人认为不太确切)。
Stupid_Turtle
·
2020-09-12 05:49
数据结构-线段树
主席树
权值线段树
poj2104
hdu2665
Codeforces 813E Army Creation 主席树(在线,求[l,r]内比x大的数的个数)
点击打开链接题意:n个数a[i],q次询问,n,a[i],qr的数都能可以被选上,转化为求区间[l,r]内有多少个数>=r题目要求在线所以套用主席树建立权值
线段树
,前缀i内,第[l,r]大的数有多少个,
Masamiiiii
·
2020-09-12 05:05
CODEFORCES_
Data
Structure
【BZOJ/Luogu】1798/P3373 [Ahoi2009]Seq 维护序列seq/【模板】
线段树
2 区间加、乘
线段树
20171014大事件题目交十次必定AC定理RunIDUserProblemResultMemoryTimeLanguageCode_LengthSubmit_Time2353336FMM1798Accepted10984kb5760msC++/Edit3490B2017-10-1410:43:562352043FMM1798Wrong_Answer10984kb964msC++/Edit3469
FMM666
·
2020-09-12 05:41
线段树
裸题练手感
Luogu
BZOJ
Naive Operations HDU - 6315 -思维+
线段树
让
线段树
维护一个b[i]的最大值,一个a[i]的最小值。sum=a[i]/b[i]。当最大值max小于min是就没有个sum要加一。lazy标记终止往下就行,否则就一直
ID_BePosit
·
2020-09-12 05:21
线段树
hiho刷题日记——第十九天RMQ问题再临-
线段树
这里是利用
线段树
求最小值。思路
线段树
其实有二分的思想在里面。比如我知道第1-8个分别的数值。然后我就可以求出1-2,3-4,5-6,7-8的最值,然后求出1-4,5-8的最值,最后求出1-8的最值。
昂村饭
·
2020-09-12 05:48
hihocoder
RMQ
线段树
高次同余方程,二次同余方程学习笔记
因为我区间加区间修改用的是
线段树
不是树套树。即问题特殊化之后可
Aaronliu17008
·
2020-09-12 05:17
浅谈AC自动机
Trie这里的Trie可不是什么权值
线段树
就是常
Aaronliu17008
·
2020-09-12 05:17
利用
线段树
解决RMQ问题
线段树
–支持动态查询区间最值问题一.时间复杂度与适用场景
线段树
是用O(n)的时间建树,然后每一次查询都是O(logn)的时间复杂度,所以他更适合n大m小的RMQ问题(数值多,但是查询次数少)同时
线段树
支持修改节点上的值
日渐秃噜的小杨
·
2020-09-12 05:18
模板
树状数组
树状数组树状数组利用二进制,删掉
线段树
中不需要的点,再把剩下的节点对应到数组中。
日渐秃噜的小杨
·
2020-09-12 05:18
模板
利用ST表解决RMQ问题
ST表–静态查询区间最值问题一.与
线段树
比的优缺点
线段树
可以O(n)的时间建树,O(logn)的时间复杂度情况下查询区间最值,但是ST表利用空间换时间,可以在O(nlogn)的时间打表,O(1)的时间复杂度下静态查询区间最值
日渐秃噜的小杨
·
2020-09-12 05:46
模板
Line Painting(
线段树
)
/*额滴神啊。。。调了整整一晚上。简单染色问题,染完色后再扫描一遍,找出最大的连续是白色的序列。开始必须把0,109这两个点加上去。就因为这个都快调shi了。。。扫描的时候用一个数组记录染色后区间的颜色。然后找连续颜色是白色的最大区间。数据有点大,用离散化吧。*///MyCode:#include#include#include#include#include#include#include#in
weixin_34034261
·
2020-09-12 05:55
kuangbin带你飞专题
kuangbin带你飞]专题三DancingLinks[kuangbin带你飞]专题四最短路练习[kuangbin带你飞]专题五并查集[kuangbin带你飞]专题六最小生成树[kuangbin带你飞]专题七
线段树
邵光亮
·
2020-09-12 04:17
笔记
算法
洛谷 P3605 [USACO17JAN]Promotion Counting晋升者计数——树状数组,权值
线段树
这个题目n^2的算法同样好想,usaco的测试数太给力啦,暴力竟然给70分。这个题目实际和上个题目类似,实际是求树上的逆序,所以将dfs序与树状数组结合起来。先将数据离散化。先做一次求值,搜索后再做一次求值,二者的差值就是这颗子树上的逆序。#include#include#includeusingnamespacestd;constintmaxn=1e5+10;intn,m,b[maxn],hea
lengxuenong
·
2020-09-12 04:38
数据结构
树状数组
线段树
模板合集(1)
文章目录基础对拍程序快速幂读入优化二分线性筛图论邻接表LCASPFA二分图匹配网络流数据结构并查集
线段树
(区间加/乘,求和模板)树状数组字符串KMP算法基础对拍程序转自http://blog.csdn.net
P1atform
·
2020-09-12 04:26
总结
总结
数据结构之真别多想—树状数组
这个结构的思想和
线段树
有些类似:用一个大节点表示一些小节点的信息,进行查询的时候只需要查询一些大节点而不是更多的小节点。最下面的八个方块就代表存入a中的八个数,现在都是十进制。
Simon5ei
·
2020-09-12 03:00
可持久化数据结构c++
以可持久化字典树为例如果我们要加入cat,cap,rat,cute,等词第一步然后,再插入第二个单词可以看到,新建一棵树存当前的词,然后连向之前已经有过的树第三第四个单词以上就是可持久化字典树的内容可持久化
线段树
同理每次修改添加一条
枳樟
·
2020-09-12 00:34
[USACO5.5]矩形周长Picture(
线段树
扫描线)
我没法写出这么详尽的题解,传送门:矩形周长很经典的一个题目,将线段之间的关系处理得很好。算是学到了一种黑科技。其实还可以离散化。(主要是题解写得好)#include#include#include#includeusingnamespacestd;#definecc(i)cover_cnt[(i)]#defineacc(i)all_cover_cnt[(i)]constintMAXN=10005;
WWWengine
·
2020-09-12 00:36
数据结构
USACO
【NIOIP2016提高】天天爱跑步(LCA+树上差分)
几个月前做是参照题解的方法,用了可持久化
线段树
在树上无脑维护和统计。当时的做法早已忘记,于是回过来自己做了做,其实远没有那么难做,只要发现一些奇妙的性质。对于一个玩家s->t,如图。
WWWengine
·
2020-09-12 00:36
树-最近公共祖先
数据结构
差分约束系统
ACM/CCPC国内赛题型
2017ACM/ICPC广西邀请赛-重现赛(感谢广西大学)hdu6182-61936182暴力+快速幂6183
线段树
6184无向图三元环计数6185矩阵快速幂+高斯消元解递推方程6186二进制运算6187
微白城市
·
2020-09-12 00:53
如何在1微秒内检测数以万计的ip段
需求:10万条ip段,例如127.0.0.1-127.0.0.255,需要在以常数时间检测127.0.0.3有没有在这1万个ip段之中实现思路:红黑
线段树
,类似如下图片,图片应用自网络如何把ip映射为int
GGJJLLDD
·
2020-09-11 23:36
go
POJ 2828 排队插队【
线段树
】题解
目录1.题目2.代码1.题目RailwayticketsweredifficulttobuyaroundtheLunarNewYearinChina,sowemustgetupearlyandjoinalongqueue…TheLunarNewYearwasapproaching,butunluckilytheLittleCatstillhadschedulesgoinghereandthere.
林深时不见鹿
·
2020-09-11 18:34
算法
Codeforces 1197 D. Yet Another Subarray Problem
(\(n\leq3\cdot10^5\),\(m\leq10\),\(-10^9\leqa_i,k\leq10^9\))解题思路考场上一直在想
线段树
,可
weixin_30525825
·
2020-09-11 17:37
bzoj1208 splay伸展树
正常的二叉树插入形式功能:a、查找b、求最大值c、最小值d、求前驱e、求后继f、删点g、合并splay树(这里的删除直接利用splay树的结点下标)(2)区间形式(插入是以区间形式插入的)区间形式的伸展树相当于
线段树
粽子猪zZ
·
2020-09-11 16:21
ACM/ICPC
算法总结:【
线段树
+扫描线】&矩形覆盖求面积/周长问题(HDU 1542/HDU 1828)
此类问题一般都是用
线段树
辅助扫描法来计算;什么是扫描法?有什么用?怎么用?可以想象成一根假想的线,将图从左往右或从右往左或自下而上或自上而下“扫描”一遍,至于扫描的是什么则根据具体应
Must_so
·
2020-09-11 16:37
ACM题解与算法
ACM(算法)
Yet Another Tree Query Problem(二维
线段树
)
YetAnotherTreeQueryProblemTimeLimit:3SecondsMemoryLimit:65536KBGivenatreewithvertices,whicharenumberedbyintegersfrom1ton,therearequeries.Eachquerycanbedescribedwithtwointegersand.Avertexisgood,ifandon
安静de想着网名
·
2020-09-11 14:52
解题报告
数据结构题
Data
structure
Codeforces Round #504(Div.2)Problem D Array Restoration(
线段树
)
D.ArrayRestorationtimelimitpertest1secondmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputInitiallytherewasanarrayaaconsistingofnnintegers.Positionsinitarenumberedfrom11tonn.Exactly
Shili_Xu
·
2020-09-11 13:16
线段树
线段树
详解
线段树
|(给定范围求和)让我们通过思考下面的问题来理解
线段树
我们有一个数组arr[0…n-1].我们要做的是计算从序号l到r内所有项的和,0<=l<=r<=n-1修改数组中某一项的值为新的
MHSMIE
·
2020-09-11 13:38
C++
算法
leetcode
CF1197D Yet Another Subarray Problem [思维+
线段树
/dp]
定义一段连续子序列的价值为这段连续子序列之和sum(L,R)—k*f(len/m),其中k为给定的整数,len为这段连续子序列的长度,f(x)表示x向上取整,其中m为给定整数,求出连续子序列的最大价值题解:这题并不难(虽然我手残地写崩
线段树
MekakuCityActors
·
2020-09-11 13:39
线段树
分块 --算法竞赛专题解析(25)
清华大学出版社网购:京东当当 作者签名书:点我有建议请加QQ群:567554289文章目录1.分块概念2.分块算法3.复杂度分析4.例题1.分块概念 回顾“区间”问题,前面给出了暴力法、树状数组、
线段树
等算法
罗勇军
·
2020-09-11 12:14
HDU 3397 Sequence operation
线段树
综合题
其实这题适合于刚刚把
线段树
学完的人来写,因为都是一些基础的操作拼接起来的。题目本身并
Cry_Kill
·
2020-09-11 11:50
HDU
线段树
ACM(已完结)
Hdu3397Sequence operation
线段树
这题不得不吐槽下了,这是我没有搜题解1a的题,让我又有继续做
线段树
的动力。几个东西揉在一块。
weixin_30896825
·
2020-09-11 10:11
HDU 3397 Sequence operation
线段树
SequenceoperationTimeLimit:10000/5000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):5626AcceptedSubmission(s):1669ProblemDescriptionlxhgwwgotasequencecontainsncharacterswhichar
poursoul
·
2020-09-11 10:12
线段树
HDU3397Sequence operation
线段树
解法
题:点击打开链接分析:
线段树
区间更新。只不过掺杂了区间和、最大连续区间区间和。
zx_love
·
2020-09-11 10:53
线段树
ACM
hdu 3397 Sequence operation
线段树
一看思路就比较清晰的
线段树
5个操作,3个修改区间,2个询问flag值-1,1,0-1表示,左孩子和右孩子的值不等1表示,左孩子和右孩子的值都等于10表示,左孩子和右孩子的值都等于0这样就可以用flag值进行懒标记了
xiaoyu1_1
·
2020-09-11 10:32
线段树
华为2016校园招聘上机笔试题
可以用
线段树
、树状数组、RMQ①这里只简单说明一下区间最大值和点更新,剩余的放在下一个篇详细介绍。②就用
线段树
吧,n个数据,就是n个叶子节点存放数据。父节点表示范围的最大值,每次修改
IIYMGF
·
2020-09-11 08:31
剑指Offer
数据结构
HDU 3397 Sequence operation
线段树
注意细节
SequenceoperationTimeLimit:10000/5000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):5626AcceptedSubmission(s):1669ProblemDescriptionlxhgwwgotasequencecontainsncharacterswhichar
ljq--linuxer
·
2020-09-11 08:25
ACM
DS-线段树
hdu3397 Sequence operation
线段树
区间合并
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3397题意:一个0,1序列,有三种操作方式:1、把某子区间置为0;2、把某子区间置为1;3、把某子区间0,1置反;有两种询问:1、某子区间中1的个数;2、某子区间连续的1的个数最长是多少对于第一种询问,就是普通的区间查询,第二种是一个区间合并的过程,可能是左子区间,右子区间或者中间合并一下对于三种操作,
cen5bin
·
2020-09-11 08:30
ACM算法
HDU 3397 Sequence operation(
线段树
好题)
题目链接:Clickhere~~题意:很给力的
线段树
题,感觉对帮助理解
线段树
十分有帮助。写了200行,debug了2小时。好爽。有一个数列,然后5种操作:1、将[a,b]中所有数变成0。
nyist_xiaod
·
2020-09-11 07:16
◆点点滴滴
【数据结构】
Controversial Rounds ——
线段树
+dp
Thisway题意:给你一个字符串,有些位置是已知的,有些是未知的,从位置1开始,如果有连续的0或者1大于等于k个,那么就算一轮游戏,然后0,1重新计数。问你当k=1~n的时候,游戏轮数最多是多少。题解:首先发现,这个是可以用调和级数做的,并且感觉也是正确的,于是考虑这个做法:对于当前位置,至少要多少个数才能进行一轮游戏。我们可以发现贪心必定是正确的,因为01数量会清空,所以结束的越早越好。那么对
天翼之城*
·
2020-09-11 03:01
线段树
dp
Divide Square ——
线段树
Thisway题意:有一个矩形在平面上,它的左下右上角是(0,0),(1e6,1e6)现在给你一些水平或者竖直的线段,在这个矩形内部并且至少有一端和这个矩形相交,问你这些线段将这个矩形分成多少个部分题解:我们枚举每个竖直的线段,然后查看它和多少个水平的线段相交,由于每个线段一定都和矩形相交,那么这个线段在内部的相交数就是它的贡献(这道题应该去年做到过)并且两端都与矩形相交的线段,它的贡献会增加1.
天翼之城*
·
2020-09-11 03:01
想法
线段树
洛谷P1712 [NOI2016]区间【
线段树
】
时空限制1000ms-3000ms/256MBDescription在数轴上有n个闭区间[l1,r1],[l2,r2],…,[ln,rn]。现在要从中选出m个区间,使得这m个区间共同包含至少一个位置。换句话说,就是使得存在一个x,使得对于每一个被选中的区间[li,ri],都有li≤x≤ri。对于一个合法的选取方案,它的花费为被选中的最长区间长度减去被选中的最短区间长度。区间[li,ri]的长度定义
niiick
·
2020-09-11 02:06
线段树
Two Types of Spells——在线与离线两种做法——
线段树
、动态开点权值
线段树
、时间分治
题面链接大致题意有两种法术,法术类型为000的法术能造成伤害,法术类型为111的法术不仅能造成伤害,还能使下一次法术的伤害翻倍。现在动态的获得/删除法术,请问对于每一次操作之后,你能造成的最大伤害是多少分析题意分析对于一个动态的数列,其中有两种值,紧贴着BBB类型值之后的值翻倍,求问每个时刻整个数列的最大值。考虑最优的情况,让每一个BBB类型的值之后的值是整个序列中最大的那kkk个值,即可。但是无
NaruseShiroha
·
2020-09-11 02:15
ACM
#
数据结构
树链剖分代码(洛谷3384)
题目链接题意:树链剖分模板题(树链剖分+
线段树
)准备工作:第一步:定义声明//链式前向星存图(****记得开2倍空间****)structEDGE{intto;intnext;}edge[MAXXmaxx
米诺minoz
·
2020-09-10 23:28
ACM
----
题解
ACM
----
数据结构
「NOIP模拟」奇袭【
线段树
】【单调栈】
1-min=r+1-l=>max-min=r-lmax+1−min=r+1−l=>max−min=r−lmax−min+l=rmax-min+l=rmax−min+l=r所以我们考虑枚举rrr,
线段树
维护
Yucoh
·
2020-09-10 21:56
NOIP及模拟
数据结构-(单调)栈
数据结构-线段树
上一页
24
25
26
27
28
29
30
31
下一页
按字母分类:
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
其他