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
-----线段树
Data Structure_树
线段树
SegmentTree对于有一类问题,时常关注的是一个区间或者是一个线段,那么就可以使用
线段树
来解决。
冒绿光的盒子
·
2020-02-02 12:44
程序员大牛必备的英文词汇
算法术语DataStructures基本数据结构Dictionaries字典PriorityQueues堆GraphDataStructures图SetDataStructures集合Kd-Trees
线段树
肖思中
·
2020-02-02 01:05
[NOI2014]购票
(dp_i=dp_j+(d_i-d_j)p_i+q_i(d_i-d_j\leqlim_i)\),其中\(d_i\)是根路径前缀和不难发现这个东西长得像斜率优化,需要建个凸壳来搞一搞;不难想到一个树剖+
线段树
维护的无脑做法
asuldb
·
2020-02-01 20:00
CF575A Fibonotci
题意\(s\{\}\)是一个循环数列循环节为\(n\),你可以改掉\(m\)项,这\(m\)项独立,且不影响循环节考虑
线段树
维护矩阵,单点修改最多m次,每次矩阵快速幂就完事了//poweredbyc++
_Isaunoya
·
2020-02-01 20:00
「JSOI2014」序列维护
「JSOI2014」序列维护传送门其实这题就是luogu的模板
线段树
2,之所以要发题解就是因为学到了一种比较NB的\(\text{update}\)的方式。
Sangber
·
2020-02-01 20:00
洛谷P1533 可怜的狗狗题解
本题可以使用权值
线段树
+离散化+二分解答首先观察题目,题目要求i-j区间之内的第k大的树所以我们可以用权值
线段树
,但是权值
线段树
只能在查找全局最大值,本题要求i-j区间的最大值所以我们考虑使用莫队算法,
Isomorphic
·
2020-02-01 19:00
线段树
的实现与应用
线段树
的实现与应用原理原理图懒标记含义:本节点的统计信息已经根据标记更新过了,但是本节点的子节点仍需要进行更新。
稀有的猪
·
2020-02-01 06:03
算法
线段树
c++
【
线段树
】牛客 Practice for KD Tree (二维
线段树
/树套树)
PracticeforKDTree题意:一个\(n*n\)矩阵\(A\),有\(m_1\)个操作:给\(x_1\;x_2\;y_1\;y_2\;w\),对所有\(A_{ij}\)(\(i\in[x_1,x_2]\)且\(j\in[y_1,y_2]\))加上\(w\);有\(m_2\)个询问:给\(x_1\;x_2\;y_1\;y_2\),求出\(A_{ij}\)(\(i\in[x_1,x_2]\)
草丛怪
·
2020-02-01 01:00
Permutation Separation(
线段树
,思维,前缀和)
[EducationalCodeforcesRound81(RatedforDiv.2)]E.PermutationSeparation(
线段树
,思维,前缀和)E.PermutationSeparationtimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputYouar
茄子Min
·
2020-02-01 00:00
[JSOI2009]等差数列
我们首先想到了
线段树
线段树
可以维护是否为等差数列吗???可以!每个结点维护上啥
线段树
必要的l,r,lazy标记什么的在多维护一个结构体
Protons
·
2020-01-31 22:00
题解 P3372 【【模板】
线段树
1】
题目刚刚学了树状数组的区间加法和区间求和操作,就用来水掉这题了本篇适合学会树状数组的人群前置芝士:普通树状数组差分树状数组【分析】学过树状数组的人都知道,我们对于一个数组,进行处理后,就可以在\(O(\logn)\)的时间内进行单点修改和区间求和假设对于数组\(a_n\),我们用树状数组的方法处理后,就可以单点修改任意\(a_i\)的值,或者求\(\displaystyle\sum_{i=l}^r
JustinRochester
·
2020-01-31 20:00
Mayor's posters (
线段树
+离散化)
Mayor'spostersDescriptionThecitizensofBytetown,AB,couldnotstandthatthecandidatesinthemayoralelectioncampaignhavebeenplacingtheirelectoralpostersatallplacesattheirwhim.Thecitycouncilhasfinallydecidedto
whitabbit
·
2020-01-31 16:00
Mayor's posters (
线段树
+离散化)
Mayor'spostersDescriptionThecitizensofBytetown,AB,couldnotstandthatthecandidatesinthemayoralelectioncampaignhavebeenplacingtheirelectoralpostersatallplacesattheirwhim.Thecitycouncilhasfinallydecidedto
whitabbit
·
2020-01-31 16:00
【HDU5709】Claris Loves Painting
对于每一个节点开两棵
线段树
。\(x\)节点的第一棵
线段树
的区间\([l,r]
stoorz
·
2020-01-31 14:00
CF1295E Permutation Separation
线段树
难得把E想出来,写出来,但却没有调出来(再给我5分钟),我的紫名啊,我一场上紫的大好机会啊首先考虑是否能将$k$在$1$--$n-1$的每一个的最小代价都求出来因为$k$从$i$到$i-1$左右两边的集合只相差一个数
Dawns~
·
2020-01-31 10:00
【
线段树
】牛客 k小数查询 (区间
线段树
套权值
线段树
)
K小数查询题意:给一个长度为n数列A,然后m个操作,有如下两种:·1lrx,表示对i\(\in\)[l,r],令\(A_i=min(A_i,x)\)·2lrk,表示询问区间[l,r]中第k小的数。输入描述:第一行输入两个整数\(n,m(1≤n,m≤8×10^4)\)。接下来一行n个整数描述数组\(A(1≤A_i≤n)\)。接下来m行每行描述一个操作,操作格式与题面中相同,保证\(1≤l≤r≤n,1
草丛怪
·
2020-01-31 01:00
BZOJ 3681: Arietta
转化一下就是一个最大流此时的边数目是\(O(nm)\)的,显然需要优化边数树上子树内信息的维护般就那么几种,这里DFS+主席树上树无法维护(因为颜色不是可减的),那么我们考虑静态科技Dsuontree这道题里面我们要给每个点开可持久化
线段树
hl666
·
2020-01-30 22:00
【Codeforces 716B】Complete the Word
题目链接【题解】当时竟然用
线段树
做的这题。。。遍历每个位置。看看每个位置开始的26个除了问号的字母有没有重复的。没有的话就ok。
AWCXV
·
2020-01-29 17:00
树状数组与
线段树
(三)
找规律题1.螺旋折线如下图所示的螺旋折线经过平面上所有整点恰好一次。对于整点(X,Y),我们定义它到原点的距离dis(X,Y)是从原点到(X,Y)的螺旋折线段的长度。例如dis(0,1)=3,dis(−2,−1)=9给出整点坐标(X,Y),你能计算出dis(X,Y)吗?输入格式包含两个整数X,Y。输出格式输出一个整数,表示dis(X,Y)。数据范围−109≤X,Y≤109输入样例:01输出样例:3
清风紫雪
·
2020-01-29 13:00
树状数组与
线段树
(二)
树状数组1.小朋友排队n个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的不高兴程度增加2(即不高兴程度为3),依次类推。当要求某个小朋友第k次交换时,他的不高兴程度增加k。请问,要让所有小朋友按从
清风紫雪
·
2020-01-28 15:00
树状数组与
线段树
(一)
树状数组:一共需要三个函数:①lowbit(intx)②add(intx,intp)③query(intx)1.动态求连续区间和给定n个数组成的一个数列,规定有两种操作,一是修改某个元素,二是求子数列[a,b]的连续和。输入格式第一行包含两个整数n和m,分别表示数的个数和操作次数。第二行包含n个整数,表示完整数列。接下来m行,每行包含三个整数k,a,b(k=0,表示求子数列[a,b]的和;k=1,
清风紫雪
·
2020-01-27 15:00
树状数组学习笔记
树状数组学习笔记目录树状数组学习笔记树状数组lowbit操作单点修改和区间查询单点修改区间查询例题1P3374【模板】树状数组1区间修改和单点查询差分思想例题2P3368【模板】树状数组2区间修改和区间查询区间查询例题3P3372【模板】
线段树
st1vdy
·
2020-01-25 20:00
CF718C Sasha and Array [
线段树
+矩阵]
f_i*f_j=f_{i+j}\)然后又因为\(\texttt{AB+AC=A(B+C)}\)所以\(\sum_{i=l}^{r}f(a_i+x)=f(x)\sum_{i=l}^{r}f(a_i)\)
线段树
板子题
_Isaunoya
·
2020-01-25 19:00
寒假数据结构训练计划(持续更新)
AcWing247
线段树
+扫描线Codeforces617E.XORandFavoriteNumber(莫队算法)P1494[国家集训队]小Z的袜子题解洛谷P1533可怜的狗狗题解(莫队算法+离散化+权值
线段树
Isomorphic
·
2020-01-24 10:00
AcWing 247. 亚特兰蒂斯 题解
在这篇题解中我不打算介绍
线段树
扫描线原理,因为网上有更多的人介绍的更好,我打算和大家分享一些扫描线操作的细节问题。
Isomorphic
·
2020-01-24 10:00
RMQ问题(ST算法)
RMQ是询问某个区间内的最大值或最小值的问题,ST算法可以求解RMQ问题.ST算法通常用在要多次询问某一些区间的问题中,相比于
线段树
,它的程序实现更加简单,运行速度更快,它可以做到O(nlogn)的预处理
wx5d3c7e0ad6c30
·
2020-01-23 01:06
算法
ST算法
区间最值
BZOJ-1012&洛谷P1198最大数maxnumber-【JSOI2008】简单
线段树
TimeLimit:3SecMemoryLimit:162MB洛谷:时间限制1.00s内存限制125.00MB题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1012洛谷:https://www.luogu.com.cn/problem/P1198Description现在请求你维护一个数列,要求提供以下两种操作:1、查询操作。语法:QL
lonely_wind
·
2020-01-20 12:00
题解 USACO12DEC【逃跑的BarnRunning Away From…】
\[solution\]有关子树内的统计,肯定能联想到
线段树
合并吧。记\(d[u]\)表示根节点到\(u\)的距离,该数组可通过一次遍历求出。则对于每个点\(u\),它的贡献就是满足下式的点对数
cjtcalc
·
2020-01-20 09:00
权值
线段树
权值
线段树
就是一棵
线段树
,不过存的值不是和或积或最大值一类的,而是这一区间上“数”的个数。这里就讲一下动态开点的。
ZCR7
·
2020-01-18 17:00
Codeforces 671E Organizing a Race (贪心、
线段树
)
题目链接https://codeforces.com/contest/671/problem/E题解完全不会做……基本是抄lk的代码ruogu的题解:https://www.luogu.com.cn/blog/ruogu-pupil/cf671esoj809-tan-xin-er-fen-tan-suo-shen-xian#Orzlk&ruogu注:本文中\(a,b,m\)分别表示原题中的\(g,
suncongbo
·
2020-01-17 11:00
Codeforces-799C-Fountains(分类讨论+
线段树
)
timelimitpertest2secondsmemorylimitpertest256megabytes题目链接:http://codeforces.com/contest/799/problem/CDescriptionArkadyplaysGardenscapesalot.Arkadywantstobuildtwonewfountains.Therearenavailablefountai
lonely_wind
·
2020-01-15 14:00
线段树
0引言Leetcode307这道题除了使用树状数组,还可以使用
线段树
。
线段树
是一种平衡二叉树,支持快速区间查找\(O(lgn+k)\)和更新\(O(lgn)\)。
EIMadrigal
·
2020-01-15 10:00
hdu1698 区间更新
初写
线段树
的时候,印象最深的一道,有一个pushdown的操作,使我的tle变成了ac题意输入t,然后t组数据输入n,m,n代表n个点上价值全是1的绳子,m代表m次操作m行l,r,val就是区间l,r变成
落雨廾匸
·
2020-01-14 14:00
「Luogu4556」Vani有约会-雨天的尾巴
每次更新一条链就是把这条链上的点在桶对应位置打上\(1\)的标记,最后对每个点取桶中非零值的位置作为答案即可,如果全都是\(0\)就输出\(0\),这样的时间复杂度和空间复杂度都是\(O(nm)\)考虑优化这一个算法:我们考虑用权值
线段树
来代替桶我们可以考虑用树剖的方式来更新一条链
Sangber
·
2020-01-14 08:00
CF547E Mike and Friends
题面英文题面题解:由于要统计字符串在某一串中的出现情况,不难想到用
线段树
合并。对所有串建立广义SAM,然后拓扑排序,沿着link边向上合并即可。
Purple_wzy
·
2020-01-14 07:00
洛谷5490:【模板】扫描线(
线段树
求矩形面积并)
洛谷5490:【模板】扫描线(
线段树
求矩形面积并)题意描述:求\(n\)个矩形的面积并。输入格式:第一行输入一个整数\(n\)。
zhaoxiaoyun
·
2020-01-14 01:00
2020 CCPC-Wannafly Winter Camp Day1 总结
部分题目列表:题号题目算法B题密码学签到题,字符串处理H题最大公约数数学、gcd、大数F题乘法较为巧妙的使用二分A题期望逆序对-C题染色图-I题K小数查询在线
线段树
套权值
线段树
B题密码学签到题,就是一个字符串的计算
MoFDY
·
2020-01-13 15:12
赛后总结
ACM
省选模拟4
被圆B包含,且\(r_A
线段树维护即可
G_keng
·
2020-01-11 10:00
【CF150E】 Freezing with Style
题目中位数显然是可以二分的,我们二分一个\(mid\),所有边权不小于\(mid\)设成\(1\),否则设为\(-1\);如果能找到一条边权和不小于\(0\)的路径,就说明中位数可以更大;于是这显然可以长链剖分+
线段树
第一次写长剖
线段树
asuldb
·
2020-01-10 08:00
可持久化数组
):题目中要求可以查询历史状态,最暴力的想法是开\(a[m][n]\)的二维数组,每次修改暴力复制并修改,每次查询暴力扫描,时间复杂度是\(O(m*n)\)的,但这显然是不行的.这个时候其实很容易想到
线段树
Sweetness
·
2020-01-08 16:00
3722. 【CF403E】Two Rooted Trees
树状数组套
线段树
来搞。由于直接树套树空间会被卡,所以在预处理的时候用可持久化
线段树
合并的方式来进行,空间复杂度是\(O(n\lgn)\)的。
jz_597
·
2020-01-07 15:00
P2253 好一个一中腰鼓!
就这道题的理论难度来说绿题是有点低了,但是这道题的实际难度来看,顶多黄题,所以建议加强数据或出数据升级版.前置芝士1.
线段树
:具体可以看我的另一篇文章.具体做法暴力的方法想必都会,所以来讲一下正解.看到标签是
线段树
Sxy_Limit
·
2020-01-06 20:00
01背包(
线段树
维护最小花费)
解法:
线段树
维护每个数的最小花费的能量,如何对可删除的数进行删与不删两种选择,就是01背包问题。
无名菜鸟1
·
2020-01-05 16:00
Matrix POJ - 2155(二维
线段树
)
题目https://vjudge.net/contest/225622#problem/A题目大意二维数组,初始为0,C操作区间更新,区间内0变1,1变0;Q操作单点查询算法思路这个区间更新并不用pushdown操作,pushup也不用,因为他是单点查询,只要在查询时看对这个点的所有祖先节点的操作次数,为奇数则为1,否则为0。updatex的时候当前区间在需要更新的区间内,则updateyquer
weiers
·
2020-01-05 07:59
简单数据结构(队列 栈 树 堆 )
常见数据结构集合:set,multiset线性结构:数组、链表、队列、栈树形结构:二叉树及其变型,
线段树
,巴拉巴拉图形结构:各种图栈和队列栈Stack先进后出(
passwd_
·
2020-01-03 11:01
线段树
—最大字段和
#include#includeusingnamespacestd;constintmaxn=5e5+10;typedeflonglongll;intn,m;structnode{llls,rs,ms,s;}a[maxn>1;build(l,m,rt>1;if(pos>1;nodeans,f1,f2;ans.s=0;if(Rm)ans=query(L,R,m+1,r,rtm){f1=query(L
艾尔夏尔-Layton
·
2020-01-02 16:00
补题:牛客2019跨年AK场
大佬说用
线段树
加01背包,然而后来还是想错了,开始我在v数组上建了一棵
线段树
,后来发现在做01背包的时候会有重复,其实正解是在w数组上建
线段树
,后面再对两个数组进行01背包。
cornivores
·
2020-01-02 00:25
Segment Tree Modify(
线段树
的修改)
rand=true请先参阅SegmentTreeQuery(
线段树
的查询)/***DefinitionofSegmentTreeNode:*publicclassSegmentTreeNode{*publicintstart
天街孤独
·
2020-01-01 06:40
luoguP3380 【模板】二逼平衡树(树套树)
题意我用了
线段树
套平衡树(Splay)去做。分别说每一问:第一问:求一个数区间排名:我们求出区间内小于这个数的个数,加\(1\)即可。
nofind
·
2019-12-31 00:00
线段树
借鉴数据结构专题——
线段树
例题:算法训练操作格子
线段树
线段树
与逆序对
线段树
线段树
的构造#includeusingnamespacestd;constintmaxind=256;intsegTree[maxind
野狗子嗷嗷嗷
·
2019-12-30 22:00
上一页
110
111
112
113
114
115
116
117
下一页
按字母分类:
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
其他