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算法_线段树
(
线段树
区间查询)
先呈上原题链接"Ray,Passmethedishes!"(vjudge)(大白书刷题笔记)又是一道比较练代码能力的题目,开始的时候常数写太大了还写成了O(n∗logn∗logn)O(n*\logn*\logn)O(n∗logn∗logn),数据范围又是5e55e55e5且多组数据,所以TLE了。。。后来全部改写过了。还有就是里面有许多细节加之平时用结构体少,历时3天边玩边写:)还是学到了不少
BNUbeginner
·
2020-09-16 02:12
数据结构
划分树
划分树是基于
线段树
的一种数据结构,主要用于在log(n)log(n)log(n)内求出序列区间的第K大值;划分树主要分为两部分,建树和查询。
BNUbeginner
·
2020-09-16 02:12
数据结构
洛谷P3372
线段树
模板1——
线段树
题目:https://www.luogu.org/problemnew/show/P3372
线段树
模板。
aodan5477
·
2020-09-16 02:53
洛谷 P3372
线段树
【模板】
P3373【模板】
线段树
2题目描述如题,已知一个数列,你需要进行下面三种操作:1.将某区间每一个数乘上x2.将某区间每一个数加上x3.求出某区间每一个数的和输入格式第一行包含三个整数N、M、P,分别表示该数列数字的个数
繁花开尽i
·
2020-09-16 02:22
线段树
模板题
洛谷 P3372 【模板】
线段树
1
https://www.luogu.org/problemnew/show/P3372题意:给你n个数,然后执行m个操作,操作分两种,对一个区间内的每个数都加上一个值,或者进行某个区间和的查询.分析:
线段树
裸题
chagelo
·
2020-09-16 02:50
数据结构--线段树
【HDU6345】子串查询【前缀和】【
线段树
】
可以用
线段树
维护一下。时间复杂度O(Tqlogn)O(Tq\logn)O(Tqlogn)当然也可以用前缀和。时间复杂度O(t(q+n))O(t(q+n))O(t(q+n))代码:
线段树
:#i
SSL_ZYC
·
2020-09-16 02:37
线段树
线段树
模板【洛谷P2023】
所以比裸的
线段树
难一点点吧,也就仅仅是一点点。既然存在两个操作,所以我们就要维护两个tag,一个加法一个乘法。但是pushdown的时候这两个tag怎么pushdown呢?
ACgay_caoyue
·
2020-09-16 02:45
poj2777 色板游戏(
线段树
)
区间修改,绝对标记col,询问区间不同颜色数。#include#include#includeusingnamespacestd;intconstN=100010;intn,m,t,ans;boolf[31];structnode{intl,r,col;}tree[4*N];voidbuildtree(intp,intl,intr){tree[p].l=l;tree[p].r=r;tree[p].
Icefox_zhx
·
2020-09-16 02:11
其他oj
线段树
洛谷P4198 楼房重建【
线段树
求前缀最大值个数】
题目描述:小A在平面上(0,0)点的位置,第i栋楼房可以用一条连接(i,0)和(i,Hi)的线段表示,其中Hi为第i栋楼房的高度。如果这栋楼房上任何一个高度大于0的点与(0,0)的连线没有与之前的线段相交,那么这栋楼房就被认为是可见的。施工队的建造总共进行了M天。初始时,所有楼房都还没有开始建造,它们的高度均为0。在第i天,建筑队将会将横坐标为Xi的房屋的高度变为Yi(高度可以比原来大,也可以比原
Master.Yi
·
2020-09-16 02:57
线段树
洛谷1558——色板游戏(
线段树
,位运算 )
那么我们可以直接将
线段树
节点所对应的区间含的颜色压成一个二进制然后在合并的时候f[root]=f[2∗root]|f[2∗root+1]f[root]=f[2∗r
y_immortal
·
2020-09-16 02:09
线段树
洛谷3870 开关(
线段树
)
所以我们
线段树
的sum数组开成二维的,第一维记录关的灯的数量,第二维记录开着的灯的数量。push_down的lazy标记就swap一下0和1的个数。查询时返回区间1的sum即可。
superXX07
·
2020-09-16 02:37
洛谷3373
线段树
2(
线段树
)
传送门【题目分析】RT,就是
线段树
的模板,支持区间乘、区间加、区间求和。很有意思的一点是两个标记的下传,解决了就行了。然后这道题,作为AHOI,竟然是个裸的模板!(可能年份久远的原因吧。。。)
weixin_30762087
·
2020-09-16 02:37
洛谷1714
线段树
加前缀和
题目传送门:https://www.luogu.org/problemnew/show/P1714题意很简单,在一段长度为n的序列里找出长度小于k的一段连续序列的最大值,是
线段树
无疑了。
DaRK_52
·
2020-09-16 02:05
线段树
洛谷
线段树
1 模板
题目大意:已知一个数列,你需要进行下面两种操作:1.将某区间每一个数加上x2.求出某区间每一个数的和并且输出前言:这道题有点恶心,我觉得
线段树
的题都恶心我打了两个小时,这还只是一道模板。
SSL_HJQ
·
2020-09-16 02:33
线段树
洛谷
线段树
题目代码
参考链接
线段树
从入门到进阶以下是我在洛谷中对应题目的AC代码【修改区间,查找单值】3368树状数组2#include#include#includeusingnamespacestd;structNode
detecting……
·
2020-09-16 01:13
c++数据结构与算法
数据结构
算法
c++
POJ 2481 Cows - 树状数组/
线段树
CowsDescriptionFarmerJohn'scowshavediscoveredthattheclovergrowingalongtheridgeofthehill(whichwecanthinkofasaone-dimensionalnumberline)inhisfieldisparticularlygood.FarmerJohnhasNcows(wenumberthecowsfro
x_1023
·
2020-09-16 00:45
线段树/树状数组
bzoj-3211 花神游历各国
1查询区间和;操作2将区间内所有数字开方;题解:本以为是到神题推了一会,结果是个傻题==;总而言之就是10^9开五次平方就变成了1,就可以不再修改他;那么记录一个标记,表示这段区间是否还可以被开平方;
线段树
暴力搞就可以了
ww140142
·
2020-09-16 00:38
bzoj
数据结构
OIer刷题记录
HDU - 6703 array
因为没有被修改过值是唯一的,所以可以建立权值
线段树
,维护权值区间内的值所在下标的最大值。而询问则转化为不小于k的值里面,下标超过r的最小权值是多少。如何处理询
青烟绕指柔!
·
2020-09-16 00:45
主席树
HDU
2019CCPC网络赛-HDU6703-array (
线段树
权值
线段树
?)
题目链接题意样例第一个,序列43125,有两个操作:15:1操作,给第五个位置的数加10,000,000;211(op,r,op):2操作,找一个大于等于k的数,且和区间[1,r]中的数不相等,求这个数的最小值。思路设数组a[n]记录当前的序列,设数组b[n]反向记录数组a,即记录每个数出现的位置。如果a[]为43125,则b[]为43125,表示数i出现的位置是b[i].再将题目的限制条件转化,
刀锋灬意志
·
2020-09-16 00:33
线段树/树状数组
BZOJ 3211【
线段树
】
题意:n个数,m个操作。1,L,R询问[L,R]的总和。2,L,R将区间所有数都开根号。思路:区间和简单。主要就是一个区间所有元素相同的标记Same,但是这样是不是要求太高?sqrt好像就算是1e9,也down的非常快到1了,且这里还没有区间加。so,只要考虑标记区间是否都是1/0就足够了。水题。#includeusingnamespacestd;typedeflonglongLL;constin
weixin_30871701
·
2020-09-16 00:24
【CodeForces】240F - TorCoder
线段树
传送门:【CodeForces】240F-TorCoder题目大意:给你一个长度为n的字符串(下标从1~n)。现在给你m次操作,每次操作是一个区间【L,R】,如果这个区间内的字符串可以重排列回文串,那么这次操作就是将其变成回文串,如果可以构造多个,那么排列成字典序最小的。如果这次操作不能构成回文串,那么忽略它。最后你要输出字符串的最终形态。题目分析:叉姐群有人提问的一道题,一开始看的时候什么思路都
poursoul
·
2020-09-15 23:18
线段树
【COGS】256 [POI2001] 金矿
线段树
传送门:【COGS】256[POI2001]金矿题目分析:将每个点作为一个矩阵的右下角添加这个矩阵的下边以及上边,这样本题转化成了区间加减以及求区间最大的问题。代码如下:#include#include#include#includeusingnamespacestd;#defineREP(i,a,b)for(inti=(a);i=(b);--i)#definetravel(e,H,u)for(E
poursoul
·
2020-09-15 23:18
线段树
Codeforces 52C - Circular RMQ -
线段树
【题目大意】给出环形数列a_0,a_1,...,a_n-1。它有两种操作:inc(lf,rg,v)这个操作使[lf,rg]区间内的每一个值增加v;rmq(lf,rg)这个操作返回[lf,rg]区间内的最小值。假设区间是环形的,所以当n=5,lf=3,rg=1时,表示的序列编号为:3,4,0,1。请编写程序执行这一系列操作。【输入】第一行有一个整数n。第二行为数列的初始状态a_0,a_1,...,a
一名码农、
·
2020-09-15 23:33
ACM_数据结构
HDU6703
2019CCPC网络选拨赛1002这里要用到权值
线段树
,因为题目保证了ai属于[1,n],且不重复。这里要用到权值
线段树
,因为题目保证了a_i属于[1,n],且不重复。
摸鱼选手
·
2020-09-15 23:59
ACM
线段树
HDU 6703 array 2019CCPC网络选拔赛 1002 (
线段树
/权值
线段树
/主席树+set)
arrayTimeLimit:4000/2000MS(Java/Others)MemoryLimit:262144/262144K(Java/Others)TotalSubmission(s):1356AcceptedSubmission(s):522ProblemDescriptionYouaregivenanarraya1,a2,...,an(∀i∈[1,n],1≤ai≤n).Initiall
pxlsdz
·
2020-09-15 23:40
数据结构--线段树
好题
比赛题解
数据结构——主席树
模板
HDU 6703 array 权值
线段树
先不考虑修改的情况,对所有的权值建一颗
线段树
,然后
线段树
上存储下标的信息,然后每个结点维护子树下标的最大值。
SigmaQuadrant
·
2020-09-15 23:42
比赛题解
2019CCPC-网络选拔赛 HDU-6703 array (主席树 or
线段树
)
CY提供的主席树思路https://blog.csdn.net/chenyume/article/details/100045386题意:给出一个序列,保证序列是一个1~n的全排列,q次操作,两种类型,一是给a[i]a[i]a[i]加10710^7107,另一种是给出r,k,询问一个最小的数字x,使得x>=kx>=kx>=k,x不等于区间[1,r]内的任何一个数字,强制在线,数据范围:n,musi
ZHXU1998
·
2020-09-15 23:41
主席树
线段树
数据结构
[洛谷P5342][TJOI2019]甲苯先生的
线段树
AddressP5342[TJOI2019]甲苯先生的
线段树
Solution对于c=1c=1c=1,由于路径长度为O(d)O(d)O(d)级别,只要知道lca(x,y)lca(x,y)lca(x,y)就是
花淇淋
·
2020-09-15 23:56
dp
hdu 3854 Glorious Array(
线段树
or树状数组)
题意:n个位置,每个位置有个价值和颜色,颜色为0或1,定义两个位置的距离为两个点之间的价值的最小值,有两个操作,一个是将位置p的颜色取反,另一个是查询当前序列有多少对不同颜色的位置之间的距离小于K。思路:首先预处理一下,求出某个位置左边第一个比K小的数的位置lf[i]和右边第一个比K小的数的位置rn[i],那么最初的答案就可以这样算:枚举每个位置,计算以该位置为右端点的合法点对的个数,这个只需要计
qian99
·
2020-09-15 23:34
数据结构
线段树
主席树 总结
我的理解是,主席树首先是一颗颗地
线段树
,每一颗
线段树
都记录了不同时间的状态(这样就实现可持续化啦)。
ltwy123
·
2020-09-15 22:05
总结
luogu P3313 [SDOI2014]旅行
对于每个宗教可以开一棵
线段树
,但是空间会爆。所以可以动态开点。代码实现:#include#include#definemax(a,b)((a)>(b)?
fxt275307894a
·
2020-09-15 22:57
洛谷
树剖
线段树
动态开点
USACO 2015Feb 牛跳房子
洛谷P3120题目链接难度:普及-(我是蒟蒻)原本是为了练
线段树
的,结果这题跟
线段树
毫无关系-_-我犯的错误一看到这道题,第一反应是深搜dfs,于是就有了以下代码:#includeusingnamespacestd
小破枪_pistol
·
2020-09-15 22:46
解题报告
Kuangbin 带你飞-
线段树
专题 题解
HDU1166敌兵布阵单调更新区间查询和#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#defineLLlonglong#definePI3.1415926535897932
deko2014
·
2020-09-15 22:24
数据结构与算法
bzoj 3211
用
线段树
记录区间的最大值,然后只对max>1的区间做开根操作即可。
::Dash::
·
2020-09-15 22:48
bzoj
2020.07.24【省选B组】模拟
求出了f之后,用
线段树
维护答案即可。T3:首先求出任意一颗生成树,然后接下来要做的就是加边维护桥的操作。具体可以用并查集来维护。首先对于每加入的一条边(x,y),先找到x和y的lca。具体操作
chiyankuan
·
2020-09-15 22:05
【NOIP提高组】模拟A组
第7章 代码
后缀数组poj1743poj3415poj2758
线段树
poj2828每个人依次插队,pos表示这个人会差到第pos个人的右边,树状数组维护,开始的时候全置1,表示每个位置都有一个人,就是最终的状态,然后按照时间顺序倒序处理
as305323460
·
2020-09-15 22:56
线段树
模板
P3372【模板】
线段树
1#include#includeusingnamespacestd;#defineMAXN1000099#defineLLDlonglongint#definelsid*2#definersid
ankan8337
·
2020-09-15 22:20
Codeforces 524E Rooks and Rectangles
线段树
区域安全的check方法就是,每行都有哨兵或者每列都有哨兵,然后我们用y建
线段树
,维护在每个y上的哨兵的x的最值就好啦。
afd5154
·
2020-09-15 22:11
HDU6703.array(权值
线段树
)
题目描述:给你一个Array{1,2...n}的数列,其中每个元素都是独立的,每个元素大小不大于1e5,长度也不大于1e5,现在有两种操作:(1,pos):将pos位上的元素a[pos]变为a[pos]+1000000;(2,r,k):询问当前数组中,不等于a[1],a[2]....a[r]且不小于k的元素的最小值。思路:因为元素数据范围不大,加上1000000就相当于删除,现在询问就变成了在[k
通信男神杨丽斌
·
2020-09-15 22:23
线段树
思维题
【树形结构】树链剖分
将一棵树划分成若干条链,用数据结构(
线段树
,平衡树等)去维护每条链,复杂度为O(log2n)O(\log_2n)O(log2n)。重链剖分剖分有三种方法:盲目剖分、随机剖分、启发式剖分。
翞达羌
·
2020-09-15 22:17
数据结构
BZOJ2951: [Poi2001]Goldmine 扫描线+
线段树
正解:扫描线+
线段树
扫描线垂直于x轴,向x轴正方向扫描,同时在y坐标轴上维护一颗
线段树
线段树
上的点y表示,一个矩s*w的矩形以y点为右上角,该矩形
Oakley_
·
2020-09-15 22:45
分块算法入门及简单习题
随着知识的增长,发现
线段树
和线段数组也能很快的解决一些区间问题,而且比分块要快。但是分块也有他自己的优势:容易书写,简单易懂,并且能处理一些
线段树
不好处理的一些问题。
zzuliwyl
·
2020-09-15 21:11
hdu6703array(权值
线段树
)
题意:t组样例,每组给出n,m(n#definelllonglongusingnamespacestd;constintN=1e5+10;intt,n,m,a[N],pre[N],tree[N>1;build(l,m,rt>1;if(posR&&k>1;if(kR){intd=query(R,k,l,m,rtR){intd=query(R,k,m+1,r,rt<<1|1);if(d!=n+1)re
Mr.Gzj
·
2020-09-15 21:31
线段树
bzoj2951: [Poi2001]Goldmine-
线段树
题意:给出n个天然金矿石的位置,选一小块长方形的矿地,此矿地长和宽为s和w且平行于坐标系统的轴线。这块地的价值是这块区域内天然金矿石的数量。计算出这块地的最大可能价值。(1≤s,w≤10000,1≤n≤150001≤s,w≤10000,1≤n≤15000)矿石坐标−30000≤x,y≤30000−30000≤x,y≤30000)Solution:这道题有一个显然的暴力做法:枚举横行,在确定的带状区
Fizzmy
·
2020-09-15 21:21
线段树
HDU6703 Array 【权值
线段树
+二分】
题目链接:HDU6703ArrayArrayTimeLimit:4000/2000MS(Java/Others)MemoryLimit:262144/262144K(Java/Others)ProblemDescriptionYouaregivenanarraya1,a2,...,an(∀i∈[1,n],1≤ai≤n).Initially,eachelementofthearrayis**uniq
MaJorieL
·
2020-09-15 21:13
数据结构
线段树
ACM/CCPC
HDU-6703-array(两种思路(主席树+set||
线段树
))
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6703题目大意:给出一个n个元素的数组A,A中所有元素都是不重复的[1,n]。有两种操作:1.将pos位置的元素+1e72.查询不属于[1,r]中的最小的>=k的值。强制在线。思路:当时想的是树套树,但是O(nlong^2(n))总是超时,一直想不出有什么办法优化掉一个多余的logn,到最后都没有写出来
永远鲜红の幼月
·
2020-09-15 21:08
数据结构
HDU 6703(array 权值
线段树
)
HDU6703(array权值
线段树
)来源:2019中国大学生程序设计竞赛(CCPC)权值
线段树
的巧妙运用(对于蒟蒻的我来说)附上题目描述:题目描述Youaregivenanarraya1,a2,…,an
岛屿失梦°
·
2020-09-15 21:22
权值线段树
数据结构
权值线段树
BZOJ2951 [Poi2001]Goldmine
把所有点按x坐标排序,然后双指针扫一下,一个指针扫右边界,另一个扫当前右边界的时候的最靠左的左边界,
线段树
维护每个下边界的答案#include#include#include#include#include
neither_nor
·
2020-09-15 21:49
BZOJ
线段树
扫描线
第7章 高级数据结构的编程实验
题目列表:http://acm.hust.edu.cn/vjudge/contest/128581#overview后缀数组poj1743poj3415poj2758
线段树
poj2828poj3468poj2528poj3667
as305323460
·
2020-09-15 21:35
数据结构与算法
Codeforces 138C Mushroom Gnomes - 2
线段树
MushroomGnomes-2感觉没啥东西,用
线段树
算算每个被覆盖的概率,坑点是有很多个在同一个点。
afd5154
·
2020-09-15 21:03
上一页
19
20
21
22
23
24
25
26
下一页
按字母分类:
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
其他