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算法_线段树
2013-2014 ACM-ICPC Brazil Subregional Programming Contest
不知不觉又欠了好多好多题目没有补…因为第一次弄弄成了mashup就️题目链接了A签到B最初考虑的时候认为可以先排序(比如按照y轴高度),然后按照从高到低的顺序用
线段树
进行区间更新、单点查询…后来发现排序出大问题
rqdmap
·
2020-08-18 07:04
ACM
Vases and Flowers HDU - 4614(
线段树
区间更新)
Aliceissopopularthatshecanreceivemanyflowerseveryday.ShehasNvasesnumberedfrom0toN-1.Whenshereceivesomeflowers,shewilltrytoputtheminthevases,oneflowerinonevase.SherandomlychoosethevaseAandtrytoputaflow
浮生一朝
·
2020-08-18 07:00
线段树
HDU 5029 Relief grain(恶心的树链剖分 +
线段树
)
题意:n个村庄分配粮食,m次分配,每一次分配树上的l~r区间村庄内某种粮食*1,询问每个村庄最多粮食数量的种类是什么分析:首先注意到题目要求在树上的路径分配粮食,很容易想到用树链剖分和
线段树
去处理区间查找过程如果此时强行将每个区间内的粮食数量及种类全部存下来
wJs9528-1
·
2020-08-18 07:00
===数据结构===
树链剖分
线段树
模板(单点更新,区间更新,RMQ)
•sum[]为
线段树
,需要开辟四倍的元素数量的空间。•build()为建树操作•update()为更新操作•query()为查询操作时间复杂度:O(nlogn)使用方法bu
bryce1010
·
2020-08-18 07:59
【ACM之路Bryce模板】
poj 2528
二维离散化+区间
线段树
#include#include#include#include#include#include#include#include#include#include#include#include
FawkesLi
·
2020-08-18 07:59
算法-线段树
Gym 100803G Flipping Parentheses
把左括号转化为1,有括号转化为-1,用
线段树
来维护前缀和;因为若一个完全匹配的括号串,他的每一个位置的前缀和一定是大于等于0的;当操作
Mirai_Future
·
2020-08-18 07:27
线段树
【二分答案+
线段树
+平衡树/
线段树
分治】APIO2018新家
【题目】原题地址题目大意:太长了去看题面吧。【题目分析】一道看上去比较奇怪的题目,需要一定转化思想。不过二分答案这个点还是比较显然的。【解题思路】对时间扫描的话,每间商店等价于插入操作和删除操作。问题转化为支持插入/删除,询问以某个位置为重心包含所有不同数字的最小长度。对于询问,显然我们可以二分答案。但是如何查询一个区间内是否出现所有种类的数?考虑出现的充要条件,以及出现的数与前后的关联。可以发现
Dream_Lolita
·
2020-08-18 07:56
数据结构-平衡树
数据结构-线段树
其他-二分
线段树
——区间修改+查询(当前/历史)最大值模板
线段树
的区间修改加查询区间最大值相信大家都熟悉了,但是,如何查询一个历史的最大值呢?此模板单纯是自己写写的,在oj上没有找到,是bzoj3064的弱化版,那题还有一个区间赋值的操作,更加麻烦。
Love_xyh
·
2020-08-18 07:56
线段树
HDU 5029 树链剖分
,然后操作是将颜色z涂在u到v路径上的所有点,最后问你每一个点上哪个颜色涂的最多,若有多组解,输出颜色较小的那个思路:因为是在树上的更新操作,所以需要用树链剖分来将树形的结构简化成线性的结构,从而使用
线段树
来更新
Dan__ge
·
2020-08-18 07:54
数据结构
线段树&树状数组
树链剖分
势能
线段树
势能
线段树
解析我们知道,
线段树
能够通过打标记实现区间修改的条件有两个:1,能够快速处理标记对区间询问结果的影响2,能够快速实现标记的合并但有的区间修改不满足上面两个条件(如区间开方,区间取模等)但某些修改存在一些奇妙的性质
Daniel__d
·
2020-08-18 07:54
数据结构
#线段树
hdu 6430 TeaTree
线段树
合并
pid=6430对每个节点开一颗
线段树
,标程的写法很节省空间:预处理出每个数字的因数,对题目中给定的权值建
线段树
,如果子树区间中没有根节点权值的因数,那么直接剪掉。
Dale_zero
·
2020-08-18 07:24
线段树合并
HDU5029 Relief grain 树链剖分+差分统计答案
个节点有根树,现在给m个x、y,使得x到y路径上所有点加上标记z,现需要统计每个节点中数量最多的标记种类先考虑线性序列,在x-y添加标记z,利用差分思想,在x处添加z,在y+1减去z,然后用一个维护标记数的
线段树
顺序维护
Cabinfever
·
2020-08-18 07:51
HDU
数据结构——树链剖分
Vases and Flowers (
线段树
+ 二分)
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=4614题意:有n个花瓶,标号0~n−1。m个操作,1AF,表示从A位置开始插FF朵花,遇到有花的花瓶跳过。到最后一个花瓶都还有花剩余,丢弃剩下的花。2AB,表示将区间[A,B]内的花瓶全部清空。(A≤B)(A≤B)对于每个11操作,输出第一个和最后一个插花的位置,如果一朵花都插不了,输出‘Cannotpu
最左边的Cu1
·
2020-08-18 07:50
数据结构
I - Colonial Mansions Gym -
线段树
-Change
I-ColonialMansionsGym-101962I题意:两种操作1.单点更新.2以一个点为中心查询他能到达的点的个数,移动规则为:每一个点都有一个高度,只能往相邻的点移动而且|hu-hv|usingnamespacestd;#definemaxn500000+100intn,q,a[maxn],ord,type,H,sum;structnode{intl,r,di;}tree[maxn*4
ID_BePosit
·
2020-08-18 07:17
线段树
HDU 1754 单点更新 区间求和 zkw
线段树
+ 递归
线段树
HDOJ1754
线段树
裸题,直接上代码。
数论只会GCD
·
2020-08-18 07:12
tree)
HDU
TeaTree [
线段树
合并]
题解由于100000以内的数最多100多个因子,所以我们用
线段树
记录每个子树包含的因子数。对于当前点u,我们只需要找u节点所有子树包含的公共因子的最大值即可,过程中用
线段树
合并实现。
ACTerminate
·
2020-08-18 07:12
线段树
HDU
HDU 5029 Relief grain 树链剖分+
线段树
离线维护
【题目大意】有一棵树,m次操作。对于一次操作:xyz,意思是对于点x到点y的路径上,每个点都添加种类为z的一个食物。操作完成后,每个点都有若干种食物,每种食物有一定的数量。对于每个点,输出该点数量最多的那种食物,如果有多种,输出种类编号最小的,如果没有,输出0。【思路】拿到这种题,想到树链剖分是不难的。如果直接维护的话,因为食物的种类太多,复杂度显然过高。但是注意到,树链剖分,剖分后,实际上是类似
ACMmaxx
·
2020-08-18 07:12
数据结构
树链剖分
HDU 5029(树链剖分 +
线段树
好题)
分析:树剖没有什么难度,主要就是
线段树
,一开始想怎么维护每个点被哪些标记标记过和被标记最多的是哪种标记,但是由于标记种树最大是1e5所以没有什么好的方法。看了大牛的博客才想到建一棵类似于权值
线段树
一个蒟蒻
·
2020-08-18 07:40
HDU 6430 TeaTree(预处理+dfs /
线段树
)
题目链接:我是链接!!题意:给一颗以1为根节点的树,每个节点有一个权值,计算每个节点以当前节点为最近公共祖先的节点对gcd中的最大值。分析:数据量是100000,如果两两枚举计算的话不管怎么样是肯定会T的,所以从每个数考虑。预处理出每个数的所有因子,最大数为100000,每个数的因子数不会大于400个。根据每个节点的权值,可以得到每个节点的因数集合。然后进行dfs,将每个节点的因数集合与它的儿子的
一个蒟蒻
·
2020-08-18 07:40
HDU 5052(树链剖分+
线段树
)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5052题意:树上每个点有一个权值对应商品价格,每次查询两个点之间的路径,从X走到Y,可以选择在一个点买入商品在另一个点卖出商品(卖出点一定要在买入点的后面),并且每次走过这条路径后,这条路径上的所有点的商品价格都会上涨V。对每个查询求出从走到Y所能获得的最大收益(不小于0,可以选择不买入)。分析:这道题跟P
一个蒟蒻
·
2020-08-18 07:40
POJ 3237(树链剖分 +
线段树
)
分析:树链剖分的模板题了,之前写的用树状数组维护就可以了,这次稍微复杂一点用
线段树
+懒操作来维护。但是考虑到需要加lazy标记,所以除了区间最大值以外还需要维护一个区间最小值。然后每次对区间内的
一个蒟蒻
·
2020-08-18 07:40
hdu4614 Vases and Flowers
线段树
+二分写wa了一次。。
zhangwei1120112119
·
2020-08-18 07:08
树状数组&&线段树
线段树
查询 II-LintCode
对于一个数组,我们可以对其建立一棵
线段树
,每个结点存储一个额外的值count来代表这个结点所指代的数组区间内的元素个数.
zhaokane
·
2020-08-18 07:08
LintCode
[poj2082]Terrible Sets——
线段树
上二分(介是你从未打过的船新解法)
思路:Itache真的是太强了,一下子就想到了
线段树
做法。对于最大的矩形,不难发现,它的上界一定是某一个给定矩形的上界。
ylsoi
·
2020-08-18 07:07
线段树
hdu4614(二分法+
线段树
)
VasesandFlowersTimeLimit:4000/2000MS(Java/Others)MemoryLimit:65535/32768K(Java/Others)TotalSubmission(s):811AcceptedSubmission(s):293ProblemDescriptionAliceissopopularthatshecanreceivemanyflowersevery
晓风残月xj
·
2020-08-18 07:35
数据结构-线段树(树状数组)
折半法
hdu 6070 二分答案+
线段树
之后的问题就很好解决了,枚举右端点,开一颗
线段树
来维护到当前节点的区间不同数(类似树状数组求区间不同
「已注销」
·
2020-08-18 07:35
线段树
三分法/二分法
线段树
区间查询
给定一个区间,判断
线段树
中的区间在该区间内的最小权值;查询的思想是选出一些区间,使他们相连后恰好涵盖整个查询区间,因此
线段树
适合解决“相邻的区间的信息可以被合并成两个区间的并区间的信息”的问题。
LXC在路上
·
2020-08-18 07:34
线段树
HDU 4027(
线段树
区间更新+区间求和)-Can you answer these queries?
题目:Alotofbattleshipsofevilarearrangedinalinebeforethebattle.Ourcommanderdecidestouseoursecretweapontoeliminatethebattleships.Eachofthebattleshipscanbemarkedavalueofendurance.Foreveryattackofoursecretw
古城白衣少年i
·
2020-08-18 07:02
线段树
Naive Operations HDU - 6315(
线段树
区间修改)
Inagalaxyfar,faraway,therearetwointegersequenceaandboflengthn.bisastaticpermutationof1ton.Initiallyaisfilledwithzeroes.Therearetwokindofoperations:addlr:addoneforal,al+1…arquerylr:query∑ri=l⌊ai/bi⌋Inp
一个划水的人
·
2020-08-18 07:30
线段树
L - Vases and Flowers(
线段树
+二分查找)
Aliceissopopularthatshecanreceivemanyflowerseveryday.ShehasNvasesnumberedfrom0toN-1.Whenshereceivesomeflowers,shewilltrytoputtheminthevases,oneflowerinonevase.SherandomlychoosethevaseAandtrytoputaflow
cherish__lin
·
2020-08-18 07:30
线段树
Vases and Flowers HDU - 4614 (
线段树
区间修改+二分查找)
1.从a开始在空花瓶放b枝花,花放完或第N-1个花瓶放完为止输出放花的第一个和最后一个位置2.将[a,b]的花都扔掉输出扔了多少枝花思路:
线段树
维护[0,N-1]空花瓶数v求a之前有多少空花瓶V(查[0
weixin_42104573
·
2020-08-18 07:30
数据结构-线段树
hdu4027
线段树
(区间开平方,区间求和)
本题的
线段树
区间更新不能用区间更新做,因为不满足:区间和的更新==区间内每个数更新的和所以实际上是单点更新,单点更新不是退化成On2了吗?
weixin_33809981
·
2020-08-18 07:28
hdu4747
线段树
区间修改值,区间查询和及最大值即最大值位置
很久以前就看到过这个题目,当时刚学
线段树
看了题解还是感觉敲不出来。现在重新做这道题目感觉思路很难想到,代码量也不小,加深了对lrj大白书中pushdown和maintain的理解。
?Briella
·
2020-08-18 07:28
HDU 4614 Vases and Flowers (2013多校2 1004
线段树
)
VasesandFlowersTimeLimit:4000/2000MS(Java/Others)MemoryLimit:65535/32768K(Java/Others)TotalSubmission(s):38AcceptedSubmission(s):10ProblemDescriptionAliceissopopularthatshecanreceivemanyflowerseveryda
weixin_33910460
·
2020-08-18 07:58
(
线段树
)
Canyouanswerthesequeries?TimeLimit:4000/2000MS(Java/Others)MemoryLimit:65768/65768K(Java/Others)TotalSubmission(s):4570AcceptedSubmission(s):1087ProblemDescriptionAlotofbattleshipsofevilarearrangedina
weixin_33779515
·
2020-08-18 07:57
(
线段树
区间开方)
Canyouanswerthesequeries?TimeLimit:4000/2000MS(Java/Others)MemoryLimit:65768/65768K(Java/Others)TotalSubmission(s):16260AcceptedSubmission(s):3809ProblemDescriptionAlotofbattleshipsofevilarearrangedin
weixin_30566111
·
2020-08-18 07:26
hdu1540(
线段树
区间合并)
这题是个很恶心的题,区间合并是比较裸的。但这题有的东西没有叙述清楚,题目上说的是一组数据,但测试数据却是多组数据,这题还有几点需要注意的,一是一个村庄可以被摧毁多次,当然如果你代码写得好,这点也是没关系的。我当时用b^=1来表示每次变化,但如果;连续摧毁两次,我的结果就相当于重建了,后来只有老老实实的写了。所以大家得注意到类似多多次摧毁的问题。后来都改过来了却一直1000多mswa,我想可能是有些
爱生活的程序猿
·
2020-08-18 07:54
线段树
数据结构
hdu 4614(区间更新)
题解:很容易想到用
线段树
维护区间内有多少个空花瓶,然后操作2可以直接用普通的区间查询和区间修改,操作1可以看作先查询前a-1个花瓶有num个是空的,然后查询第n
路小白_zZ
·
2020-08-18 07:53
ACM-线段树
hdu4614
线段树
区间更新
很恶心的区间查询更新题目。两个操作,一个是向给定的l向后插入k个元素,输出插入的起始点和结束点;一个是将l和r之间的部分清0,输出清0个数。这里更新的操作很好完成,查询的就比较恶心了,写了三个查询函数,分别查询从l开始第一个空的位置,从l开始第k个空的位置,以及查询区间有多少被占用的位置。第一个查询很好完成,先序遍历加上记录区间有多少可用点,找到第一个可用的就可以返回了。第二个比较恶心,有可能存在
查尔斯欢
·
2020-08-18 07:52
线段树
hdu4614Vases and Flowers(
线段树
,段设置,更新时范围的右边值为变量)
ProblemDescriptionAliceissopopularthatshecanreceivemanyflowerseveryday.ShehasNvasesnumberedfrom0toN-1.Whenshereceivesomeflowers,shewilltrytoputtheminthevases,oneflowerinonevase.Sherandomlychoosethevas
青山绿水之辈
·
2020-08-18 07:21
ACM
线段树
hdu1556(树状数组/
线段树
,区间修改,点查询)
题目链接:点击打开链接//题目大意:一段序列,给连续的一段涂色,问某个点被涂的次数#include#include#include#include#include#include#include#include#include#include#include#include#include#defineN100010usingnamespacestd;intsum[N>1;build(l,m,k=
li49406
·
2020-08-18 07:21
线段树
hdu
线段树
区间覆盖 区间增加
给你一个序列:a1a2a3:::an,有m个操作,操作如下:modifylrx将区间[l;r]中的每个数修改为xchangelrx将区间[l;r]中的每个数加上xquerylr询问区间[l;r]中的和要维护几个东西:•sum表示区间的和•type表示现在的标记类型(可以是没有标记,可以是增量标记,可以是赋值标记)•delta如果是增量标记,那么这个里面存的增量•value如果是赋值标记,那么这里面
Lazer2001
·
2020-08-18 07:47
线段树
二分+
线段树
题目:C.Storetimelimitpertest1.0smemorylimitpertest256MBIchuanisastoreownerandhisstorehasnproducts,numberedfrom11tonn.Recently,hisbusinessisnotverygood,andhecanoccasionallysellaproduct,sohewillconfirmthe
1naive1
·
2020-08-18 07:17
数据结构
Colonial Mansions Gym - 101962I (
线段树
+二分)
Afterayearofhardwork,Manofinallyhadamonthoff.HedecidedtotakehisgrandmothertoSoteropolisduringthistime.Assoonastheyarrivedattheairport,Manoboughtoneofthese"10thingstodoinSoteropolis"travelguides.Hisgra
七九河开
·
2020-08-18 07:16
#
二分法
#
线段树
线段树
的区间操作(区间更新,区间查询)
区间操作structnode{intl,r,sum,lazy;}tr[maxn>1;build(m>1;//中间值if(rmid)updata(m>1;inttemp;if(rmid)temp=query(m<<1|1,l,r);//遍历右半边elsetemp=query(m<<1,l,mid)+query(m<<1|1,mid+1,r);//遍历(l,mid),(mid+1,r)returnte
qdu_zhaiH
·
2020-08-18 07:15
日常刷题
HDU_4027_
线段树
区间开方
HDU4027剪枝:开方等于7次,值等1以为每个点的值不一样,所以开方是要每个点开方,不能延迟标记longlong存sum看别人博客:x居然可以>y#include#include#includeusingnamespacestd;constintmaxn=1e5+5;structsegementTree{intleft,right;longlongsum;#defineleft(x)tree[x
_llc
·
2020-08-18 07:44
线段树
Big brother said the calculation( 二分查找+
线段树
)
(我们永远的)大哥有很多的小弟(n个)。每一个小弟有一个智力值。现在小弟们聚集在了大哥身旁,排成了一队,等待大哥的检阅。n个小弟的智力值是一个1到n的排列。大哥在检阅小弟时,每次会选择一些相邻的小弟,让他们按照自己的智力值从小到大或从大到小顺序重新排队(没有被选择的小弟位置不变),以便他排除其中的二五仔。在大哥检阅完小弟之后,老仙突然来了。他十分想为难一下大哥,所以他问大哥其中某一个小弟的智力值是
Bowen_Yang
·
2020-08-18 07:12
二分
线段树
HDU4614-二分+
线段树
(有任何问题欢迎留言或私聊&&欢迎交流讨论哦题意:传送门 原题目描述在最下面。 两种操作,1:把bb朵花,从aa开始一个位置放一瓶,若该位置有花则跳过,每次输出插入花朵的起点的终点。若没有位置可以插花,则输出Cannotputanyone.Cannotputanyone.。2:把aa到bb位置的花瓶清空,并输出之前这个区间内有多少朵花。思路: lazy=1lazy=1表示子区间内所有花瓶都可以插花
Cwolf9
·
2020-08-18 07:12
线段树
ACM-二分-三分
ACM算法之旅
线段树
区间修改入门
#includeusingnamespacestd;constintmaxn=1e5+10;inttree[4*maxn],lazy[4*maxn],a[maxn];voidupdate(intp){tree[p]=tree[p=x&&r>1;pushdown(p,mid-l+1,r-mid);if(mid>=x)add(l,mid,x,y,p=x&&r>1;intres=0;pushdown(p
pupil ?
·
2020-08-18 07:11
线段树与树状数组
hdu 4027
线段树
区间变换 区间求值
Canyouanswerthesequeries?TimeLimit:4000/2000MS(Java/Others)MemoryLimit:65768/65768K(Java/Others)TotalSubmission(s):12591AcceptedSubmission(s):2991ProblemDescriptionAlotofbattleshipsofevilarearrangedin
Kunaly
·
2020-08-18 07:10
#
线段树
上一页
45
46
47
48
49
50
51
52
下一页
按字母分类:
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
其他