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
#线段树
hdoj 1754 【
线段树
】
#include#include#include#defineLS(x)(x>1)#defineMAXLEN200005#definePAUSEsystem("pause")usingnamespacestd;inta[MAXLEN>1;buildTree(l,mid,LS(pos));buildTree(mid+1,r,RS(pos));a[pos]=max(a[LS(pos)],a[RS(po
WGH_yesterday
·
2020-08-16 05:38
HDOJ
query
include
system
c
hdoj 1698 Just a Hook 【
线段树
】
#include#include#include#include#include#include#include#include#include#defineL(x)(x>1)#definePAUSEsystem("pause)usingnamespacestd;#defineMAXN100005ints[MAXN>1;if(c[p]){c[L(p)]=c[R(p)]=c[p];s[L(p)]=(
WGH_yesterday
·
2020-08-16 05:38
HDOJ
hook
include
c
system
build
hdoj 2795 Billboard 【
线段树
】
#include#include#include#include#include#include#include#include#include#defineL(x)(x>1)#definePAUSEsystem("pause)usingnamespacestd;#defineMAXN200005ints[MAXN>1;build(l,m,L(p));build(m+1,r,R(p));}intu
WGH_yesterday
·
2020-08-16 05:38
HDOJ
build
include
system
算法训练 操作格子
线段树
问题描述有n个格子,从左到右放成一排,编号为1-n。共有m次操作,有3种操作类型:1.修改一个格子的权值,2.求连续一段格子权值和,3.求连续一段格子的最大值。对于每个2、3操作输出你所求出的结果。输入格式第一行2个整数n,m。接下来一行n个整数表示n个格子的初始权值。接下来m行,每行3个整数p,x,y,p表示操作类型,p=1时表示修改格子x的权值为y,p=2时表示求区间[x,y]内格子权值和,p
Marcus-Bao
·
2020-08-16 05:54
线段树
蓝桥杯
敌兵布阵(
线段树
-单点修改)
#include#include#include#includeusingnamespacestd;#definelson2*k,l,mid#definerson2*k+1,mid+1,rconstintMAXN=1e5;intnum[MAXN],sum[MAXN*4];//要开4倍数组//num数组记录第i个营地一开始有多少人//sum数组记录变化后营地的总人数voidBuildTree(int
1662小鱼干
·
2020-08-16 03:53
线段树
可持久化数据结构
可持久化的前提:本身拓扑结构不变可持久化解决问题:记录数据结构的所有历史版本核心思想:只记录每一个版本与上一个版本不一样的地方如
线段树
:每次修改最多logn点可持久化trie树上一个版本的trie树种有这个字母的指针就直接
繁凡さん
·
2020-08-16 03:12
可持久化数据结构
#
主席树
P3834 【模板】可持久化
线段树
1(主席树)难度⭐⭐⭐⭐
P3834【模板】可持久化
线段树
1(主席树)题解P3834【【模板】可持久化
线段树
1(主席树)】#include#include#include#include#include#include#definels
繁凡さん
·
2020-08-16 03:11
+++【高级数据结构】+++
#
主席树
最短路合集(Dijkstra、SPFA、Floyd以及路径还原模板)
目录一.Dijkstra算法(不能处理存在负权的清况)1.堆(优先队列)优化版本:(慢,占用内存还大)2.普通
线段树
优化版本(一般块)2.大佬的特殊
线段树
优化版本:(超快的)二.SPFA算法(可以处理存在负权的清况
繁凡さん
·
2020-08-16 03:11
【算法总结】合集
#
最短路算法
线段树
从入门到进阶(超清晰,简单易懂)
目录第一部概念引入第二部简单(无pushdown)的
线段树
1、单点修改,区间查询2、区间修改,单点查询第三部进阶
线段树
第四部乘法(根号)
线段树
1、乘法
线段树
2、根号
线段树
模板题与代码:单点修改,区间查询
繁凡さん
·
2020-08-16 03:10
【算法总结】合集
#
线段树
#
基础合集
在一个有序数组中,有些元素重复出现。输入一个数值,求此值在数组中重复的次数
输入一个数值,求此值在数组中重复的次数思路有两种:1.upperbound()–lowerbound()2.使用类似
线段树
的思想直接统计iteratorlower_bound(constkey_type
Winston_wu
·
2020-08-16 00:20
其他
数据结构:
线段树
线段树
是一种重要的数据结构,它主要的优势体现在对段的处理上,用于对数据的更新和查询。适用范围比树状数组更广。关于它的函数和离散化可以自己去搜索一下。
dingzi1875
·
2020-08-15 22:26
数据结构与算法
刷题总结——系列维护(ssoi)
题目:题解:题解如上图,至于计算大于s的数字的数量和小于s数字的和用权值
线段树
或者树状数组维护就行了···注意离散化另外发现cout和puts比printf快好多·····代码:#include#include
banzhangzhi8819
·
2020-08-15 22:08
关于线段的算法汇总
基本知识:
线段树
:存储线段的二叉排序树,以start作为key,同时维护树中最大的右端点值maxclassNode{intstart;intend;intmax;}经典应用:queryanyintervalthatintersect
binling
·
2020-08-15 20:18
同类问题汇总
算法
二维
线段树
模板
#defineSQR(x)((x)*(x))#definerep(i,n)for(inti=0;i=(b);--i)#defineclr(ar,val)memset(ar,val,sizeof(ar))#defineN110#defineEr1(x,y)((midl>=x)&&(midr>=y))//x1,y1#defineEr2(x,y)((x>midl)&&(midr>=y))//x2,y1#
xuezhongfenfei
·
2020-08-15 17:32
模板
线段树
Codeforces Round #197 (Div. 2) D. Xenia and Bit Operations
题目传送门1/*2
线段树
的单点更新:有一个交叉更新,若rank=1,or;rank=0,xor3详细解释:http://www.xuebuyuan.com/1154895.html4*/5#include6
weixin_33704591
·
2020-08-15 16:23
Educational Codeforces Round 37 (Rated for Div. 2)C. Swap Adjacent Elements
我们用
线段树
或者前缀和。就可以快速判断一段是否全部为一(我用的是
线段树
),对于每一个不在
weixin_30810583
·
2020-08-15 16:12
hdu-1540(
线段树
+最大连续区间)
/*在区间中,有三种操作,Qx查询包含x的最长连续区间Dx将x点毁掉即x点左右不再连续R修复上一次毁坏的点思路:记录每个区间的左右端的连续区间长度,x若在左端点连续区间,则该区间只可能是其父亲的右孩子,因为如果是左孩子,则访问其父区间的时候,父区间的左连续区间便已包含x。所以直接将该右孩子区间的左连续区间加上其兄弟区间的右连续区间即是最终结果。毁坏的点按顺序保存栈里,注意!可能同一个点毁坏多次,但
w-y-p
·
2020-08-15 16:29
线段树
poj 2104 可持久化
线段树
区间K大 不修改
poj2104区间k大不修改只查询模板#include#include#include#include#include#include#include#defineN240008#defineM5500000usingnamespacestd;intn,m,rt[N];structNode{intl,r,cnt;;}tr[N>1;tr[k].l=build(l,mid);tr[k].r=build
yukun133
·
2020-08-15 16:09
线段树
离线处理(区间内不同的数的个数)hdu3333
OnlineJudgeOnlineExerciseOnlineTeachingOnlineContestsExerciseAuthorF.A.QHandInHandOnlineAcmersForum|DiscussStatisticalChartsProblemArchiveRealtimeJudgeStatusAuthorsRanklistC/C++/JavaExamsACMStepsGotoJ
u010660276
·
2020-08-15 16:20
树状数组/线段树
线段树
+DP+hdu3016
OnlineJudgeOnlineExerciseOnlineTeachingOnlineContestsExerciseAuthorF.A.QHandInHandOnlineAcmersForum|DiscussStatisticalChartsProblemArchiveRealtimeJudgeStatusAuthorsRanklistC/C++/JavaExamsACMStepsGotoJ
u010660276
·
2020-08-15 16:20
树状数组/线段树
Codeforces Round #197 (Div. 2) D. Xenia and Bit Operations
居然没想到是
线段树
,在此给BOBLEE跪。用一个RANK记录深度1就取或0取异或
线段树
的单点更新。
Jinx_jinx_again
·
2020-08-15 16:49
线段树
单调队列优化dp--bzoj5185: [Usaco2018 Jan]Lifeguards
传送门luoguluoguluogu上据说有一道这个题的弱化版,把删kkk个改成了删111个,那个大概
线段树
之类的随便做一下就好了这道题可以先把包含的都去掉,所有线段就是相交或者不相交的了,然后考虑用dpdpdp
..、
·
2020-08-15 15:39
单调队列优化DP
zkw
线段树
ZKW
线段树
zkw
线段树
的特点·代码短(可手撸)·常数小·空间小原理与普通
线段树
不同,zkw
线段树
是基于满二叉树,自底而上区间如下图所示查询时,先将闭区间转化为开区间,再不断移动到父亲节点的过程中,将其包含的兄弟节点进行处理
f7japsvclfvb
·
2020-08-15 15:54
子段乘积(
线段树
区间最大值经典问题)
思路:
线段树
找区间最大值。
Ray.C.L
·
2020-08-15 15:06
牛客
线段树
Tunnel Warfare --HDU1540&POJ2892(简单的暴力分块替换
线段树
区间合并)
TunnelWarfareTimeLimit:1000MSMemoryLimit:131072K题目链接http://poj.org/problem?id=2892DescriptionDuringtheWarofResistanceAgainstJapan,tunnelwarfarewascarriedoutextensivelyinthevastareasofnorthChinaPlain.G
lonely_wind_
·
2020-08-15 15:36
#
分块
HDU - 1540 Tunnel Warfare(
线段树
连续区间)
**题目链接:HDU1540题意:开始给你1→n1→n1→n的连续村庄,后面给你mmm个操作,DDD表示销毁XXX村庄(如果XXX被销毁那么XXX和谁都不连续),RRR表示修复最后销毁的那个XXX村庄,QQQ表示一次询问,询问包括XXX村庄在内的连续区间值。具体分析看代码#include#defineAcceptedreturn0typedeflonglongll;usingnamespacest
ChaseNo1
·
2020-08-15 15:02
线段树
Editor(
线段树
)
思路:大致思路是用
线段树
维护区间一个区间前缀和,初始化前缀和为0。遇到单点更新,
AaronChang6
·
2020-08-15 15:48
线段树
数据结构
Xenia and Bit Operations 【CodeForces - 339D】【
线段树
+位运算】
题目链接这道题难理解也就在于题意了,题目要求的是对于原来的这个数(一共(1#include#include#include#include#include#include#include#include#include#include#include#definelowbit(x)(x&(-x))#definepi3.141592653589793#definee2.718281828459045
Andres_Lionel
·
2020-08-15 15:16
线段树
数据结构
线段树
1#include2#include3#include4#include5#include6usingnamespacestd;7constintmaxn=100000+10;89//update_add:把A[L]~A[R]的值全部加v_add10//update_set:把A[l]~A[R]的值设为v_set11//query:计算子序列的元素和,最小值,最大值1213intsumv[2*ma
qq_41431762
·
2020-08-15 15:43
*【CodeForces - 768B】Code For 1 (分治策略,模拟二分思想,模拟
线段树
思想)
题干:Jonfoughtbravelytorescuethewildlingswhowereattackedbythewhite-walkersatHardhome.Onhisarrival,SamtellshimthathewantstogotoOldtowntotrainattheCitadeltobecomeamaester,sohecanreturnandtakethedeceasedAe
韬光养晦_
·
2020-08-15 15:42
分治
思维
Codeforce~
“科大讯飞杯”第十七届同济大学程序设计预选赛暨高校网络 H.时空栈
把所有的时间离散化之后,用时间为下标建立区间
线段树
,下标为ggg的值为sgs_gsg枚举所有操作(op,t,v)(op,t,v)(op,t,v)把入栈当成区间[t,n]+1[t,n]+1[t,n]+1,
pubgoso
·
2020-08-15 15:34
线段树
差分(思想)
2、用
线段树
或树状数组搞一搞,抱歉,这个复杂度是O(Qlogn)的,还是会T(虽然他们解决别的题目很NB)3、差分,没错,就是标题,很高兴O(n)+常数…那么用差分如何解决?------在询问中我
qq_40534166
·
2020-08-15 15:33
技巧
HDU - 1540 Tunnel Warfare(
线段树
)
线段树
真的是一个很强大的数据结构,对于很多区间动态问题都可以解答。奈何我太菜,因为这种题往往需要很多的语言描述才能把码说明白,写博客写的很煎熬,归根到底还是我太菜。这道题很有营养,我来记一下。
菜菜魁
·
2020-08-15 15:42
算法竞赛
线段树
【HDU - 1540】Tunnel Warfare 【
线段树
+单点更新+区间合并】
DuringtheWarofResistanceAgainstJapan,tunnelwarfarewascarriedoutextensivelyinthevastareasofnorthChinaPlain.Generallyspeaking,villagesconnectedbytunnelslayinaline.Exceptthetwoattheends,everyvillagewasdi
qq_37383726
·
2020-08-15 15:05
线段树
线段树
-------I - Tunnel Warfare
DuringtheWarofResistanceAgainstJapan,tunnelwarfarewascarriedoutextensivelyinthevastareasofnorthChinaPlain.Generallyspeaking,villagesconnectedbytunnelslayinaline.Exceptthetwoattheends,everyvillagewasdi
ZhangJiangYu666
·
2020-08-15 15:55
ACM__线段树
hdu1540 Tunnel Warfare(
线段树
)(好题)
题目链接:点击链接题意:有n个村庄,连成一条线,有三个操作。操作一,将指定的一个村庄摧毁;操作二,查询指定村庄所在的线段上有多少个没有被摧毁的连续的村庄(即连续区间的长度);操作三,将上次被摧毁的村庄重建。思路:操作一和操作三是基础的单点更新。操作二的查询,需要查询连续区间的长度,建树的时候要对每个节点对应的区间[l,r]记录从l开始向右的最大连续区间,长度为prefix,从r开始向左的最大连续区
刘荣浩
·
2020-08-15 15:59
数据结构
hdu1540(
线段树
)
题意是跟新查找不同的时候要输出这个字符位置最长字符串,用ls表示从这个区间左端开始的最长字符串,rs表示从右边开始,ms是中间最长(a[i].ms=max(a[i*2].ms,max(a[i*2+1].ms,(a[i*2].rs+a[i*2+1].ls)));注意查找的时候if(t#include#include#include#includeusingnamespacestd;constintm
Polya_Xue
·
2020-08-15 15:48
线段树
hdu1540(
线段树
维护连续区间模型)
solution:
线段树
维护连续子区间将村庄抽象成一个点,正常下值为1,被破坏后变成0,即可将题目抽象成一个求目标节点所在的最长连续1序列的区间的长度。
林伏案
·
2020-08-15 15:39
=====数据结构=====
线段树
codeforces 339D Xenia and Bit Operations
线段树
思路:因为这个序列一定是2的倍数,所以用
线段树
直接这样操作即可。pu
九野的博客
·
2020-08-15 15:41
水题
线段树
codeforce
CF 339D - Xenia and Bit Operations(
线段树
)
由于点的个数为2^n,如果把每一步操作列出来,可以发现这是一颗满二叉树,因此,可以使用
线段树
维护每个操作后的值,再用一个节点来记录操作的类型,然后直接修改就行了。
qian99
·
2020-08-15 14:31
数据结构
线段树
CodeForces 339D Xenia and Bit Operations(
线段树
点修改)
题目链接:http://codeforces.com/problemset/problem/339/D解题思路:题目大意:输入n和m分别表示有2^n个数和m个更新,每次更新只把p位置的值改成b,然后输出整个序列运算后的值,但是这个运算比较麻烦,最下面一层数字两两之间进行或运算得到原来数目一半的数字,然后剩下的再两两之间进行异或运算,再得到一半,然后再或,再异或。。。。。。直到得到一个数字为止,这个
piaocoder
·
2020-08-15 14:20
CodeForces 339D Xenia and Bit Operations(
线段树
)
D.XeniaandBitOperationstimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputXeniathebeginnerprogrammerhasasequencea,consistingof2nnon-negativeintegers:a1, a2, ..
纵马且长歌
·
2020-08-15 14:03
线段树
Poj 3277 City Horizon -
线段树
题目大意:在水平直线上给定一组矩形,这些矩形的底边在同一水平线上,求这些矩形占据的面积。题目分析:很显然,这些矩形的长和高都不一样,还会有重合的区域。如何求这些矩形的面积呢?画个图就知道了。对于上图给定的三个矩形,最快的求面积的方法就是将每条线段乘以当前该条线段对应的最高的高。譬如A1-B1对应的最高的是H1,B1-A3对应的是H2,A3-B3对应的是H3,可以得到面积A=H1*(B1-A1)+H
mr_zys
·
2020-08-15 14:47
Poj解题报告
P1502 窗口的星星(
线段树
+扫描线)
题目描述小卡买到了一套新房子,他十分的高兴,在房间里转来转去。晚上,小卡从阳台望出去,“哇~~~~好多星星啊”,但他还没给其他房间设一个窗户。天真的小卡总是希望能够在晚上能看到最多最亮的星星,但是窗子的大小是固定的,边也必须和地面平行。这时小卡使用了超能力(透视术)知道了墙后面每个星星的位置和亮度,但是小卡发动超能力后就很疲劳,只好拜托你告诉他最多能够有总和多亮的星星能出现在窗口上。小卡买的窗户框
AisingioroHao
·
2020-08-15 14:59
线段树
扫描线
算法
数据结构
acm竞赛
ACM模板(自用)
目录手动开-o2优化常用头文件读入优化并查集欧拉筛快速幂矩阵快速幂最小生成树KruskalO(nlogn)PrimO((n+m)logm)lcm、gcd与exgcd单源最短路之队优Dijkstra
线段树
二分图最长上升子序列
陆明燃
·
2020-08-15 14:39
线段树
(fake)模板
应该是区间修改+区间求和=.=#include#include#include#include#include#include#include#include#include#includeusingnamespacestd;#defineLLlonglong#defineMAXN0x3f3f3f3f#defineINF500007LLread(){LLx=0,w=1;charch=0;while
陆明燃
·
2020-08-15 14:38
CodeForces 339D Xenia and Bit Operations
线段树
用
线段树
,关键点在于,一般用
线段树
时,先建树、再更新、再查询。而这种方法把它们综合在一起!!!别人的代码。。。。。。。
efine_dxq
·
2020-08-15 13:50
[
线段树
]Codeforces 339D Xenia and Bit Operations
XeniaandBitOperationstimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputXeniathebeginnerprogrammerhasasequencea,consistingof2nnon-negativeintegers:a1, a2, ...,
dixiangee374493
·
2020-08-15 13:12
单调栈/单调队列入门详解
单调栈自行类比顾名思义单调队列这个名字就指明了它的性质——单调性我们来看一道例题——滑动窗口题面在此不再赘述,大意就是有一个长度为\(n\)的数列,一个长度为\(k\)的窗口,输出窗口位于每个位置下的下的最大最小值嗯,题目很好理解,\(STL\)表或者
线段树
过的先别说话
bajiang2274
·
2020-08-15 13:03
Tunnel Warfare(
线段树
)
思路:
线段树
维护连续子区间,将未被破坏的村庄看成1,破坏的看成0,
线段树
维护3个信息,前缀最长1序列,后缀最长1序列,最长1序列。
Q王路飞
·
2020-08-15 13:31
数据结构
上一页
51
52
53
54
55
56
57
58
下一页
按字母分类:
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
其他