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
-----线段树
树链基础知识
“在一棵树上进行路径的修改、求极值、求和”乍一看只要
线段树
就能轻松解决,实际上,仅凭
线段树
是不能搞定它的。我们需要用到一种貌似高级的复杂算法——树链剖分。树链,就是树上的路径。
bao___zi
·
2020-08-23 09:53
ACM算法
树链
100035. 【NOIP2017提高A组模拟7.10】区间
100097969983514116685052333SampleOutputsample1:4sample2:1749769DataConstraintSolution对于20%的数据可以n2n2暴力,对于70%的数据可以用
线段树
维护区间的乘积
lazy-sheep
·
2020-08-23 09:04
题目
分块
洛谷P1471 方差(
线段树
lazy维护区间平均数和区间方差)
题意:传送门题解:三种操作:一是区间加,使用lazy操作即可完成,而是平均数,使用区间加维护,三是区间方差,将公式展开,发现s2=1n∗(∑i=xi=yai2−2∗a‾∗∑i=xi=yai+(y−x+1)∗a‾)s^2=\frac{1}{n}*(\sum_{i=x}^{i=y}a_{i}^2-2*\overline{a}*\sum_{i=x}^{i=y}a_{i}+(y-x+1)*\overlin
肘子zhouzi
·
2020-08-23 08:49
线段树
暑假集训test-8-29
T1傻逼题,但是我傻逼地敲了一个
线段树
合并,然后把空间炸了,只剩20分,直接dfs维护子树大小,子树中最大最小值即可统计答案。
weixin_30871701
·
2020-08-23 07:35
2019暑期训练
牛客多校:ABCDEFGHIJ第一场题解笛卡尔树(不会)/单调栈数学推公式暴力DP数学推公式线性基
线段树
+动态规划水题通过情况√√√√√√待补√第二场爆搜单调栈通过情况√√第三场通过情况第四场通过情况第五场题解签到快速幂简单
weixin_30622181
·
2020-08-23 07:45
NOIP模拟(11.07)T3 小店购物
小店购物题目背景:11.07NOIP模拟T3分析:
线段树
+multiset这道题让我发现了自己的智障······set是会去重的,然后我塞了一模一样的东西进去然后删了很多次,还没有判end,然后就开心的去删掉了
scarlyw
·
2020-08-23 07:55
NOIP解题报告
multiset
线段树
洛谷 P3373
线段树
2——致卑微的我
谨以此片博客记录一上午的debug#include#include#include#definelsonl,m,rt>1;node[rt>1;Build(lson);Build(rson);pushUp(rt);}voidupdateMul(intL,intR,intk,intl,intr,intrt){//if(r>1;//pushDown(l,r,rt);if(Lm){updateMul(L,
一颗牙疼_
·
2020-08-23 07:28
数据结构
noip膜你赛day2 总结
先膜拜一遍gen4512大牛然后是总结:第一题,没有选择
线段树
,因为我并没有想到要去验证azui具有结合律,不过交换率倒是去验证过,很显然失败了,但后面我找到一个规律,于是前缀和直接搞定。成功AC。
Thyhhhhhh
·
2020-08-23 06:16
考试题目
bzoj2962 序列操作
线段树
题意:一段序列,三种操作:1.Iabc表示将[a,b]这一段区间的元素集体增加c,2.Rab表示将[a,b]区间内所有元素变成相反数,3.Qabc表示询问[a,b]这一段区间中选择c个数相乘的所有方案的和mod19940417的值。一开始没看到k#include#include#definefo(i,a,b)for(inti=a;i=b;i--)usingnamespacestd;constint
Transcendence_magia
·
2020-08-23 06:29
bzoj
线段树
Atcoder Regular contest 085F NRE
线段树
+DP
题意:给你两个序列,a全部为0,b给出,给出一些区间,可以把a上的这些区间变为全1,要求操作以后两个序列对应位置不相同的个数最小,n#include#include#include#definepbpush_back#definefo(i,a,b)for(inti=a;i=b;i--)usingnamespacestd;intn,m;constintinf=2e9;constintN=2e5+5;
Transcendence_magia
·
2020-08-23 06:29
Atcoder
DP
线段树
我的算法模板(带分析博客)
(以下模版均有其对应的分析博客,点击标题即可跳转)数据结构篇1.并查集2.字典树3.
线段树
与树状数组4.ac自动机5.大根堆算法篇1.KMP算法2.素数处理3.gcd与扩展gcd4.二分查值法(1).最大化最小值
onlysky_yy
·
2020-08-23 06:35
算法
数据结构
算法与数据结构
【BZOJ4025】二分图(可撤销并查集+
线段树
分治)
题目:BZOJ4025分析:定理:一个图是二分图的充要条件是不存在奇环。先考虑一个弱化的问题:保证所有边出现的时间段不会交叉,只会包含或相离。还是不会?再考虑一个更弱化的问题:边只会出现不会消失。当加边的时候,若(u,v)(u,v)(u,v)不连通:一定不会构成奇环,将它加入。若(u,v)(u,v)(u,v)已经联通,则不加入这条边,而是查询uuu和vvv两点间的距离。若为偶数则加上这条边后会形成
Inspector_Javert
·
2020-08-23 05:12
数据结构
分治
【P1471 方差】 区间加 区间求平均数 区间求方差
*a[l]+a[l+1]*a[l+1]+…a[r]*a[r])/(r-l+1)-((a[l]+a[l+1]+…+a[r])/(r-l+1))^2然后我们只要维护一个a[i]的平方维护一个a[i]然后用
线段树
去操作就可以实现了
ljq--linuxer
·
2020-08-23 05:02
ACM
DS-线段树
Noip 训练指南
BZOJ2535数据结构[]luog2572[SCOI2010]序列操作[]luogu2184[]cf620ENewyeartree[]GSS1[]GSS3[]GSS4[]HDU6315[]luogu2073[x]
线段树
dieloupi0136
·
2020-08-23 05:31
Luogu1438 无聊的数列(
线段树
)
传送门:https://www.luogu.org/problem/P1438
线段树
板子题,真的裸,数学题真好磕如果看到加上等差数列还想不到差分的话我也没话可说了……#includeusingnamespacestd
ddeneijvu948663112
·
2020-08-23 05:52
【JZOJ 4638】第三条跑道
那直接开110棵
线段树
即可,每次的修改和维护直接运用欧拉函数的性质即可。
HOWARLI
·
2020-08-23 04:58
BZOJ 2865 字符串识别
后缀自动机+
线段树
考虑最终包含点i的仅出现一次的子串长什么样。记这个子串是[l,r]。
Endless_Way
·
2020-08-23 04:16
字符串-后缀
数据结构-线段树
洛谷1311 选择客栈
看题解有大犇拿
线段树
A过了,然而个人觉得这个题用
线段树
有点大材小用,拿O(nk)的解法完全可过。解题思路一言以蔽之,从前向后暴力找。观察可得显然要把客栈分成k类,对于每一类求可行方案数。
zero_from
·
2020-08-23 04:28
题解
线段树
模板整理
综述
线段树
的原理:将[1,n]分解成若干特定的子区间(数量不超过4*n),然后,将每个区间[L,R]都分解为少量特定的子区间,通过对这些少量子区间的修改或者统计,来实现快速对[L,R]的修改或者统计。
歪歪T的拿金之路
·
2020-08-23 04:23
数据结构--线段树
nssl 1476.联
区间取反每次操作后,询问最左边的0位于哪个位置数据范围:n≤105n\leq10^5n≤105,区间的两端在longlonglong\longlonglong范围内SolutionSolutionSolution
线段树
水题
ssl_xxy
·
2020-08-23 04:53
线段树
离散化
ST表
st表用来维护静态区间最值非常有效快捷的方法,但是只要取最值的数需要改变,那么st表便变得无用,你需要转去研究下
线段树
了。那么下面来看看初看不好理解,但是超好写的st表模板求最大或最小值。
cnnf
·
2020-08-23 04:50
NOIP之倍增思想
简单
线段树
模板
今天学长讲的是
线段树
,讲得很有老师的感觉...然后就是讲的也都差不多听懂了,只是有些细节在写代码的时候没有注意到,一直错。
LucienShui
·
2020-08-23 04:46
codeforces 914D(
线段树
)
思路:
线段树
维护gcd,很简单。查询的时候可以维护一个cnt的值,表示为当一个点的值不整除x的时候,对数进行改变的个数。当cnt>1的时候,直接结束函数。
Lazines_by
·
2020-08-23 04:10
线段树
洛谷 P3372
线段树
模版题
题目描述如题,已知一个数列,你需要进行下面两种操作:1.将某区间每一个数加上x2.求出某区间每一个数的和输入输出格式输入格式:第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来M行每行包含3或4个整数,表示一个操作,具体如下:操作1:格式:1xyk含义:将区间[x,y]内每个数加上k操作2:格式:2xy含义
wzazzy
·
2020-08-23 03:31
线段树
蒟蒻的
线段树
(目前是略讲,之后完善)
蒟蒻的
线段树
蒟蒻曾经就学过
线段树
,但是最近才弄懂(惭愧
线段树
,初次听闻这样一个高大上的名字,以为是解决什么惨绝人寰的问题没想到,竟然只是处理区间的。。。
我。。。我是谁?
·
2020-08-23 03:39
洛谷 P3372 【模板】
线段树
1
如题,已知一个数列,你需要进行下面两种操作:将某区间每一个数加上k。求出某区间每一个数的和。输入格式第一行包含两个整数n,m,分别表示该数列数字的个数和操作的总个数。第二行包含n个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来m行每行包含3或4个整数,表示一个操作,具体如下:1xyk:将区间[x,y]内每个数加上kk。2xy:输出区间[x,y]内每个数的和。#include#def
TA很酷
·
2020-08-23 03:29
ST表总结+例题
st的最大值为log2(n)查询上会比
线段树
快例题:1.P3865【模板】ST表#include#include#include#include#include#includeusingnamespacestd
林尛尛
·
2020-08-23 03:03
RMQ
洛谷 P1886 滑动窗口 /【模板】单调队列 (单调队列、
线段树
、RMQ(ST表))
题目描述有一个长为nn的序列aa,以及一个大小为kk的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。例如:Thearrayis[1,3,-1,-3,5,3,6,7][1,3,−1,−3,5,3,6,7],andk=3k=3。输入格式输入一共有两行,第一行有两个正整数n,kn,k。第二行nn个整数,表示序列aa输出格式输出共两行,第一行为每次窗口滑动的最小
菱形继承
·
2020-08-23 03:02
#
luogu
RMQ问题ST算法//洛谷P3865
第一行——咕咕咕(毕竟本来说是要学
线段树
的。RMQ问题:区间最值查询。即:RMQ(a,i,j),返回数列a[i]到a[j]中最小or最大元素的下标。
Yueliang月亮
·
2020-08-23 03:31
算法专区————
OJ/ICPC/CCPC题解
九月学习记录(数学)
打了个
线段树
的
oyblxzd
·
2020-08-23 03:09
停课日记
路径记录(很久之前)
12.22【BZOJ】2243[SDOI2011]染色树链剖分+
线段树
【BZOJ】1724[Usaco2006Nov]FenceRepair切割木板手写堆【BZOJ】1455罗马游戏左偏树【BZOJ】1202
weixin_34092370
·
2020-08-23 03:13
【模板】
线段树
1
题目描述如题,已知一个数列,你需要进行下面两种操作:1.将某区间每一个数加上x2.求出某区间每一个数的和输入输出格式输入格式:第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来M行每行包含3或4个整数,表示一个操作,具体如下:操作1:格式:1xyk含义:将区间[x,y]内每个数加上k操作2:格式:2xy含义
weixin_30898109
·
2020-08-23 03:48
NOIP2015普及组T4推销员(暴力+
线段树
)
题目:阿明是一名推销员,他奉命到螺丝街推销他们公司的产品。螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住户。螺丝街一共有N家住户,第i家住户到入口的距离为Si米。由于同一栋房子里可以有多家住户,所以可能有多家住户与入口的距离相等。阿明会从入口进入,依次向螺丝街的X家住户推销产品,然后再原路走出去。阿明每走1米就会积累1点疲劳值,向第i家住户推销产品会积累Ai点疲劳值。阿明是工
weixin_30483495
·
2020-08-23 03:23
关于树状数组的几点总结
2.实现原理:二进制加法位运算补码和原码(第一个决定了这个数据结构的理论有效性,第二和第三个决定了具体实现)3.特性:如果观察树状数组的结构,可以发现:树状数组的结构就像是一个去掉右结点的
线段树
的结构.
Object_S
·
2020-08-23 03:56
A
--
知识点
A
--
模板
数据结构
--
树状数组
#
线段树
,ST表#洛谷 1198 JZOJ 1714 最大数
题目用一种数据结构满足末尾区间查询和单点修改分析那么这些
线段树
可以实现,但是这里讲ST表的方法,因为只是在末尾单点修改,所以说对原来的ST表是不受影响的,所以说ST表是一种码量比较小的数据结构,但是常数比
线段树
大了几倍代码
ssl_xjq_逐风之刃
·
2020-08-23 02:56
线段树
猫树
位运算
倍增
RMQ
洛谷 P1714 切蛋糕(dp+RMQ)
传送门首先,很简单的dp方程:fi=max(si−sj)(j∈[i−m,i])然后发现si与j无关,可以提出来:fi=si−min(sj)(j∈[i−m,i])发现这个方程可以用数据结构优化,比如
线段树
stone41123
·
2020-08-23 02:54
DP真的不会想
跑得贼快的RMQ
【BZOJ2865】字符串识别
【题目链接】BZOJ2865(权限题)【前置技能】
线段树
后缀数组【题解】先考虑另一个问题:给出一个字符串SS,要求求出某一位后缀的最短前缀,使得这个子串在SS中仅出现一次。
步六孤明琪
·
2020-08-23 02:45
【类型】做题记录
【内容】线段树
【内容】后缀数组
day 1
查询修改,区间查询修改应用求逆序对cv二维树状数组2.
线段树
现在我们已经掌握了构造,点修改,点查询,区间修改,区间查询五个最基本的操作
线段树
的两个最重要的过程:pushdown和update
线段树
的一个隐藏的重要过程
soloier
·
2020-08-23 02:43
寒假
线段树
模板及专题合集-----不断更新中
之前学过一段时间的
线段树
,后来就没有再做了,上次比赛做到几道题居然都是
线段树
,而且渐渐发现
线段树
的适用性之广和重要性,而且之前学的不全面,于是决定重现学一遍
线段树
,顺便改一下之前的代码风格一.单点更新1
sin_XF
·
2020-08-23 02:06
线段树
【倍增】【st表模板】洛谷P3865
提起动态区间问题,我们首先想到的肯定是
线段树
但是对于静态的区间问题来说,可能有些算法是更加高hao效xie的~今天来介绍一种叫st表的数据结构,了解一下它的倍增思想-------------挖个坑,以后补哈
许启明
·
2020-08-23 02:26
数据结构
【洛谷 P3372】【模板】
线段树
1 pushdown 操作
题目描述如题,已知一个数列,你需要进行下面两种操作:将某区间每一个数加上kk。求出某区间每一个数的和。输入格式第一行包含两个整数n,mn,m,分别表示该数列数字的个数和操作的总个数。第二行包含nn个用空格分隔的整数,其中第ii个数字表示数列第ii项的初始值。接下来mm行每行包含33或44个整数,表示一个操作,具体如下:1xyk:将区间[x,y][x,y]内每个数加上kk。2xy:输出区间[x,y]
追风者_
·
2020-08-23 02:03
线段树
洛谷
练习题
ICPC徐州网络赛——M.Longest subsequence
反正不知道因为什么原因,在比赛的时候就是没有想到这种写法,但是看完题的第一眼,直觉告诉我应该用
线段树
。所以二话不说上手写一发,然后wa了。。最后手写了几组数据,把细节处理了就A了。
C画中仙
·
2020-08-23 02:16
字符串
洛谷P3372
线段树
模板1
题目描述如题,已知一个数列,你需要进行下面两种操作:1.将某区间每一个数加上x2.求出某区间每一个数的和输入输出格式输入格式:第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来M行每行包含3或4个整数,表示一个操作,具体如下:操作1:格式:1xyk含义:将区间[x,y]内每个数加上k操作2:格式:2xy含义
anonymity__
·
2020-08-23 02:14
线段树
Irrigation【codeforces1181D】【可持久化
线段树
维护第K小+二分搜索】
CodeforcesRound#567(Div.2).DD.Irrigationtimelimitpertest2.5secondsmemorylimitpertest512megabytesinputstandardinputoutputstandardoutputMishawasinterestedinwaterdeliveryfromchildhood.That'swhyhismothers
Andres_Lionel
·
2020-08-23 02:56
数据结构
线段树
Restore Permutation(
线段树
)
timelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputAnarrayofintegersp1,p2,…,pniscalledapermutationifitcontainseachnumberfrom1tonexactlyonce.Forexample,thefollo
ccsu_deer
·
2020-08-23 02:50
数据结构---线段树
poj3246(st表模板)
id=3264思路:st表模板题,当然
线段树
什么的也可以。。。
llmxby
·
2020-08-23 02:13
LCA
【模板】
线段树
模板
线段树
线段树
基本概念概述
线段树
,类似区间树,是一个完全二叉树,它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动态查询问题,由于二叉结构的特性,它基本能保持每个操作的复杂度为O
bbqub
·
2020-08-23 02:58
[P1311][NOIP2011]选择客栈
原题链接不知道标准正解是啥用了个有点奇葩的
线段树
记录[l,r]这段区间内第一个价格#include#include#include#include#include#include#include#include
TirpitzOVO
·
2020-08-23 02:11
刷题
线段树
[Luogu P3398] 仓鼠找sugar
然后对于每个操作查询u->va->b的路径是否有相交的地方题目分析:貌似不用分析了,直接树剖+
线段树
就OK。
HT008_123
·
2020-08-23 02:01
题目分析
线段树
树剖
【luogu1816】忠(RMQ问题、
线段树
)
题面RMQ问题题解
线段树
#include#includeusingnamespacestd;constintmaxn=100010;inta[maxn];structnode{intl,r;intval
小哈里
·
2020-08-23 02:47
算法
上一页
31
32
33
34
35
36
37
38
下一页
按字母分类:
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
其他