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
单点更新
HDU 1754 解题报告 线段树
单点更新
线段树入门题,
单点更新
。每个结点存储两个孩子最大者即可。//线段树
单点更新
,完全二叉树解法 #include #defineMAXN200000 #definelsonrttop[rson]?
cbs612537
·
2015-07-15 10:00
线段树
ACM
HDU
分块法 hdu4858 项目管理
一看到这题,首先会觉得非常像
单点更新
的线段树,但是却不怎么好操作然后应该往分块的方向去想因为只有m条边,所以所有点的度总和是2m,那么设度数>=sqrt(m)的点叫做重点,反之则是轻点那么重点的个数 #
qwb492859377
·
2015-07-01 10:00
zkw(张昆玮)线段树(
单点更新
)
zkw线段树特点:非递归,代码简短,结合位运算速度快结构:我们可以用一个一维数组c[]来储存数据信息接下来详细介绍
单点更新
和区间和求法:假设需要处理的数组为a[n],则上图叶子数至少为n+2(其中第一片叶子跟最后一片叶子是不能储存数据的
u013351484
·
2015-06-30 18:00
[置顶] acm 常用数据结构与算法专题(未分类均放于此)
hdu1280简单题,数据很水,可直接用计数排序解题Manacher算法:HDU3294简单题Trie树:入门题:POJ2001POJ2530POJ3630POJ1056区间树(线段树):HDU1166
单点更新
cbs612537
·
2015-06-28 21:00
数据结构
算法
ACM
分块法 hdu1166 敌兵布阵
当然啦,这题最正规的方法当然是最标准的
单点更新
的线段树咯最近发现了分块法这一神器,正尝试水各种数据结构中(线段树,伸展树,主席树....)
qwb492859377
·
2015-06-16 00:00
hdu1166
poj 3264 Balanced Lineup
就是简单的线段树最大值减去最小值,这里没有
单点更新
#include #include #include usingnamespacestd; constintmaxn=50005; intnum[maxn
qingshui23
·
2015-06-03 14:00
tree
light oj 1348 树链剖分(
单点更新
区间求值)
http://lightoj.com/volume_showproblem.php?problem=1348FinallytheGreatMagicalLampwasinAladdin'shand.Nowhewantedtoreturnhome.Buthedidn'twanttotakeanyhelpfromtheGeniebecausehethoughtthatitmightbeanothera
u013573047
·
2015-05-29 14:00
HYSBZ 1036 树链剖分(
单点更新
区间求和求最大值)
http://www.lydsy.com/JudgeOnline/problem.php?id=1036Description一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作:I.CHANGEut:把结点u的权值改为tII.QMAXuv:询问从点u到点v的路径上的节点的最大权值III.QSUMuv:询问从点u到点v的路径上的节点的权值和注
u013573047
·
2015-05-29 13:00
FZU2082 树链剖分(
单点更新
区间求值)
http://acm.fzu.edu.cn/problem.php?pid=2082 ProblemDescription有n座城市,由n-1条路相连通,使得任意两座城市之间可达。每条路有过路费,要交过路费才能通过。每条路的过路费经常会更新,现问你,当前情况下,从城市a到城市b最少要花多少过路费。 Input有多组样例,每组样例第一行输入两个正整数n,m(2 #include #include #
u013573047
·
2015-05-29 13:00
poj 2763 树链剖分(
单点更新
,区间求值)
http://poj.org/problem?id=2763DescriptionAftertheirroyalwedding,JiajiaandWindhidawayinXXVillage,toenjoytheirordinaryhappylife.PeopleinXXVillagelivedinbeautifulhuts.Therearesomepairsofhutsconnectedbybi
u013573047
·
2015-05-28 20:00
spoj375 树链剖分(
单点更新
,区间查询)
http://www.spoj.com/problems/QTREE/QTREE-Queryonatreenotags Youaregivenatree(anacyclicundirectedconnectedgraph)with N nodes,andedgesnumbered1,2,3...N-1.Wewillaskyoutoperfromsomeinstructionsofthefollow
u013573047
·
2015-05-27 10:00
【第六届山东省ACM竞赛】B题 Lowest Unique Price(SDUT3252)
其实,这一题可以用线段树做(不知道线段树的童鞋请移步:这里),而且还是简单的
单点更新
问题。不知道单点
luomingjun12315
·
2015-05-22 07:00
线段树
ACM
山东省省赛
POJ2828 Buy Tickets 线段树
单点更新
题目链接:点击打开链接题目大意:有n个人,第i行表示的是第i个人(其编号为val[i])插到第pos[i]个人的后面,问你n次插队之后的最终结果,按排队顺序输出每个人的编号。分析:我们先把第一个人插入队中,然后顺序再插入一个人的时候,我们就需要更新其插入位置之后的所有位置,这样最坏的情况下就是O(n!)的复杂度了。但是如果换一种思维,我们注意到,最后一个人插入的位置即为他在队中的最终位置,其上一个
AC_Gibson
·
2015-05-18 15:00
hdoj 1541 Stars 【树状数组 线段树】【
单点更新
区间求和】
StarsTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):5640 AcceptedSubmission(s):2235ProblemDescriptionAstronomersoftenexaminestarmapswherestarsarereprese
chenzhenyu123456
·
2015-05-17 22:00
HDU - 3308 - LCIS (线段树 - 区间合并)
题目传送:LCIS线段树,区间合并,一次过啦,没有纠结,这几天过的最愉快的一个题思路:求最长连续上升子序列,外带
单点更新
,经典的线段树题目。
u014355480
·
2015-05-15 20:00
线段树
ACM
HDU
区间的维护和更新
HDU2795 Billboard 线段树
单点更新
变形
题目链接:点击打开链接题目大意:有一个h×w的广告牌和n条1×wi的通知,每条通知总是尽可能的往上,在每一层中尽可能往左贴在广告牌上,找出每条通知在广告牌上我位置高度,如果不能贴在广告牌上,位置高度为-1.分析:要想把通知插到广告牌上,我们需要知道当前位置高度的剩余容量,可以用一个数组num[i]来纪录第i层上剩余的最大长度,然后与输入进来的通知的长度x比较。若通知长度大于当前剩余长度,那么就找下
AC_Gibson
·
2015-05-14 13:00
蓝桥杯 - 操作格子 (线段树)
题目传送:操作格子思路:简单线段树,
单点更新
,区间求和以及最值AC代码:#include #include #include #include #include #include #include #include
u014355480
·
2015-05-14 08:00
线段树
ACM
蓝桥杯
区间的维护和更新
HDU - 3074 - Multiply game (线段树-
单点更新
,区间求积)
题目传送:Multiplygame思路:简单线段树,
单点更新
,区间求积,这是上次选拔赛选的题,一看题就是线段树,不过当时线段树不太熟,没敢敲,现在看来居然如此轻松,不过注意这里有大量输出,用printf
u014355480
·
2015-05-13 22:00
线段树
ACM
HDU
区间的维护和更新
HDU - 1394 - Minimum Inversion Number (线段树 -
单点更新
,区间求和)
题目传送:MinimumInversionNumber思路:线段树,求最小逆序数,先可以通过n*logn的时间用线段树求出初始的逆序对数,然后递推求出其他的解,递推过程看代码AC代码:#include #include #include #include #include #include #include #include #include #include #include #include
u014355480
·
2015-05-13 13:00
线段树
ACM
HDU
区间的维护和更新
hdu 4046 Panda (线段树,
单点更新
,区间求和)
题意:两个操作,改变区间某个位置的值,询问区间好友wbw串的个数。题解:将线段树的每个点的值设为以这个点为结尾的串是否是wbw。接下来就是裸的线段树。注意一个位置改变会影响三个位置,所以要更新三个位置的点。区间更新是要这样做query(a+2,b,1)因为如果不这样会重复计算。#include #include #include #include #include #include #includ
My_ACM_Dream
·
2015-05-10 23:00
hdu 2795 Billboard (线段树,
单点更新
)
题意:给出一个h*w的版面,现在要将每个海报(1*wi)贴到这上面,每次要选择最左边能够贴的地方!题解:其实n个点最多能用的高度就是n,那么可以根据搞当区间进行线段树,好吧我还是太水了。#include #include #include #include #include #include #include #include #include #defineB(x)(1a)a=b;} voidc
My_ACM_Dream
·
2015-05-08 21:00
hdu 1754 I Hate It (
单点更新
,区间查询)
题意:给出n个学生的分数,每次可以选择两个操作,1是选择将区间某个点学生的分数更新,2是询问区间学生的最大值。题解:入门题,直接搞。#include #include #include #include #include #include #include #include #include #defineB(x)(1a)a=b;} voidcmin(int&a,intb){if(ba)a=b;}
My_ACM_Dream
·
2015-05-08 17:00
NYOJ 116 士兵杀敌(二) (线段树区间求和)
这个问题和线段树的
单点更新
还是基本一致的。只要把
单点更新
中的值覆盖变为值得叠加,这一题便可以轻松解决了。
luomingjun12315
·
2015-04-29 22:00
数据结构
线段树
树
应用
划分树
hdu1754 I Hate It (区间最值)
题目连接:hdu1754IHateIt 本题考查的是线段树的基本操作,属于线段树的
单点更新
。
luomingjun12315
·
2015-04-28 22:00
数据结构
二叉树
线段树
应用
划分树
poj 2828 插队运用(线段树,
单点更新
)
题意:给n,以下n行给出一个位置p,一个权值v。代表了这个人v插队在位置p。最后输出队伍。解析:归类在线段树里面,怎么也想不通用线段树来解啊。这题网上主流的解法是将整个输入倒回来往空队列里面插。因为倒回来,最后进去的人v肯定在的位置是p,所以直接插进去。线段树中维护一个空位置的数组,代表着一段间还有多少个空位置。插入的时候,检查,若左子树的空位置大于当前插入的位置,则向左子树递归找到插入点就好了;
u013508213
·
2015-04-22 20:00
hdu 3074 Multiply game
很明显的线段树
单点更新
模版题。
squee_spoon
·
2015-04-22 11:00
(线段树
单点更新
+区间求和)
思路:
单点更新
时求最近fib,维护fib的和及元素的和。注意初始化的时候要对每个0求fib。
kkkwjx
·
2015-04-21 10:00
线段树
【
单点更新
,区间查询,线段树】【HDU1166】【敌兵布阵】
线段树要捡回来学了才知道以前抄的模板就是杭电传奇学长写的,写起来更有激情了;一点注意:
单点更新
完后记得pushup(),向上更新信息以下是对线段树的理解线段树的节点代表一段线段,节点编号没有任何意义。
zy691357966
·
2015-04-07 21:00
HDU 5195 DZY Loves Topological Sorting(线段树
单点更新
)
题意:给定一个有向无环图,让你去掉p条边后找出字典序最大的一个拓扑排序数列解析:因为我们要求最后的拓扑序列字典序最大,所以一定要贪心地将标号越大的点越早入队。我们定义点i的入度为di。假设当前还能删去k条边,那么我们一定会把当前还没入队的di≤k的最大的i找出来,把它的di条入边都删掉,然后加入拓扑序列。可以证明,这一定是最优的。具体实现可以用线段树维护每个位置的di,在线段树上二分可以找到当前还
HelloWorld10086
·
2015-03-31 20:00
HDU
5195
HDU 4521 小明系列问题--小明序列(加强版LIS+线段树
单点更新
)
题意:求LIS的长度,但是要求下标之间的差,必须在题目要求范围之内(ij-ij-1>d)解析:利用线段树,查询1~a[i]区间最长子序列的值,并保存dp[i],当i-d>0时,将a[i-d-1]线段树上的值更新为dp[i-d-1],并查询1~a[i]区间内的最长子序列。AC代码#include #include #include #include #include #definelso*2 #de
HelloWorld10086
·
2015-03-26 20:00
HDU
4521
POJ 2352 Stars(线段树
单点更新
)
题解转自该博客http://blog.csdn.net/shuangde800/article/details/8175139题意:在坐标上有n个星星,如果某个星星坐标为(x,y),它的左下位置为:(x0,y0),x0 #include #include #definelso*2 #definerso*2+1 usingnamespacestd; constintN=32000+10; struc
HelloWorld10086
·
2015-03-26 19:00
poj
2352
POJ - 2481 Cows(线段树
单点更新
)
题意:两个区间:[Si,Ei]和[Sj,Ej](0Ej-Sj,则第i个区间覆盖第j个区间,即牛i比牛j强壮。问对于每一头牛i有多少头牛比它强壮。解析:这题先一看,不知如何下手。首先,将每个区间的S和E当做是(S,E)一个点,这样子把所有点在坐标系上画出来,你就会发现一个很神奇的现象,题目要求就会变成:问每一个点的左上角有多少个点?那么这题转化为了,每个点的左上角有多少个点。但是点不是有序排好的,要
HelloWorld10086
·
2015-03-26 19:00
poj
2481
线段树的
单点更新
及其Java实现
线段树的
单点更新
及其Java实现线段树是一种二叉树结构,能够在O(logn)时间复杂度之内实现对数组中某一区间的增删改查的操作。关于线段树的详细解释。今天我们涉及的是线段树的
单点更新
以及区间查询功能。
march alex's blog
·
2015-03-26 08:00
HDU 1754 I hate it 【线段树--
单点更新
,区间最值】
链接:clickhere~~ 题意:很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。这让很多学生很反感。不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。Input本题目包含多组测试,请处理到文件结束。在每个测试的第一行,有两个正整数N和M(0 #include #include #incl
u013050857
·
2015-03-25 17:00
数据结构
线段树
ACM
HDU 4288 Coder(线段树
单点更新
)
题意:维护一个有序数列{An},有三种操作:1、addx添加一个元素x。2、delx删除一个元素x。3、求数列中下标i%5=3的值的和。解析:由于线段树中不支持添加、删除操作,所以题解用的是用离线做法。我们来看它是如何解决添加、删除的问题的。首先将所有出现过的数记录下来,然后排序去重,最后根据去重结果建树,然后每个操作数都会对应线段树中的一个点。遇到添加、删除操作的时候,只要把那个节点的值改变,然
HelloWorld10086
·
2015-03-20 19:00
HDU
4288
POJ - 2828 Buy Tickets(线段树
单点更新
)
题意:有n个的排队,每一个人都有一个val来对应,每一个后来人都会插入当前队伍的某一个位置pos。要求把队伍最后的状态输出。解析:逆向思维。我们可以这样考虑,最后一个人一定会得到当前队伍他想要的位置,如果我们往前一个阶段,倒数第二个人也一定能得到他想要的位置…也就是说,我们可以这样处理,我们把最后一个人插入,然后忽略它,再把倒数第二个人插入。即,我们找出当前队伍他想要插入的位置pos的真正坐标就可
HelloWorld10086
·
2015-03-19 19:00
poj
2828
hdu 1394 Minimum Inversion Number(
单点更新
,区间求和)
给n个数组成的序列,由0~n-1构成。每次把第一个数移动到最后一个数,可以形成一个新的序列。总共可形成n个序列,求这n个序列中最小的逆序数。 先求原始序列的逆序数个数:每输入一个数,统计其之前的比它大的数的个数。这里用线段树记录区间内数的个数。对于每一个数,将其挪到后面之后,新的序列的逆序数个数=原序列逆序数个数-比该数小的数个数+比该数大的数的个数。 #include #include #inc
u014679804
·
2015-03-14 11:00
hdu 1754 I Hate It (
单点更新
,区间最值)
#include #include #include #include usingnamespacestd; #definelsoni>1; build(lson); build(rson); PushUp(i); } voidupdate(inta,intb,inti,intl,intr) { if(l==r){Max[i]=b;return;} intm=(l+r)>>1; if(a>1; i
u014679804
·
2015-03-14 10:00
hdu 1166 敌兵布阵 (
单点更新
,区间求和)
复习线段树。线段树(SegmentTree)是一种二叉搜索树,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。对于线段树中的每一个非叶子节点[a,b],它的左子树表示的区间为[a,(a+b)/2],右子树表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树。叶节点数目为N,即整个线段区间的长度。使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为
u014679804
·
2015-03-14 10:00
HDU4046 Panda 线段树
单点更新
ProblemDescriptionWhenIwrotedownthisletter,youmayhavebeenontheairplanetoU.S.Wehaveknownfor15years,whichhasexceededone-fifthofmywholelife.Istillrememberthefirsttimewewenttothemovies,thefirsttimewewentf
Bill_Utada
·
2015-03-09 18:45
算法与数据结构/ACM
HDU1166 敌兵布阵 线段树
单点更新
ProblemDescriptionC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。中央情报
Bill_Utada
·
2015-02-23 16:45
算法与数据结构/ACM
HDU1394-Minimum Inversion Number(线段树
单点更新
)
题意:给你一段序列a1,a2,a3,a4,a5,a6,a7,,然后这段序列可以一直调动第一个数字到最后,例如:a2,a3,a4,a5,a6,a7,a1,…………直到循环了一遍。然后从这么多的序列中求出逆序列最小的一组。每次循环的时候都可以递归求解逆序对数:设原序列逆序数为sum,当把原序列第一个移动到最后位置时,逆序数变为:sum=sum-(ai-1)+(n-ai);所以只需要求最开始一段序列的逆
kalilili
·
2015-02-17 23:03
线段树
HDU1394-Minimum Inversion Number(线段树
单点更新
)
题意:给你一段序列a1,a2,a3,a4,a5,a6,a7,,然后这段序列可以一直调动第一个数字到最后,例如:a2,a3,a4,a5,a6,a7,a1,…………直到循环了一遍。然后从这么多的序列中求出逆序列最小的一组。每次循环的时候都可以递归求解逆序对数:设原序列逆序数为sum,当把原序列第一个移动到最后位置时,逆序数变为:sum=sum-(ai-1)+(n-ai); 所以只需要求最开始一段序列的
kalilili
·
2015-02-17 23:00
HDU1754 I Hate It(线段树
单点更新
)
ProblemDescription很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。这让很多学生很反感。不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。线段树功能:update:单点替换 query:区间最值//3172KB655ms #include #include #include #
kalilili
·
2015-02-17 23:00
hdu1166 敌兵布阵(线段树
单点更新
)
题意n个阵营一字排开,每个初始有a[i]个人。现有两种操作:Qab查询[a,b]之间总人数并输出A/Sab在a号位添加/删除b个人线段树功能:update:单点增减 query:区间求和//1676KB312ms #include #include #include #include #definemaxn50005 #definelsonl,m,rt>1; Build(lson); Build(
kalilili
·
2015-02-17 23:00
hdu2795 Billboard(线段树
单点更新
)
题意:有一块h*w的墙,有N个宣传单每个的大小为1*wi每次贴都从最左最上能贴的位置开始。求每一宣传单被贴在哪一行。思路:线段树,以1~h划分区间,每一个区间中保存该区间能放下的最大长度,每次从最上面开始找,找到符合的位置贴上,该位置减去len,更新区间的最大长度值。询问和更新一起操作//3152KB1903ms #include #include #include #include #defin
kalilili
·
2015-02-17 21:00
(线段树之
单点更新
)
萌萌哒的传送门因为一个longlong范围内的数开方不会超过10次,所以题目就转化为线段树的
单点更新
问题.
ZSGG_ACM
·
2015-02-14 11:00
线段树
线段树模板
区间更新,区间查询(
单点更新
,区间查询懒得写了,修改一下insert参数吧)code:#include #include #include usingnamespacestd; structhp{ longlongvalue
Lcomyn
·
2015-02-08 15:00
poj2828 Buy Tickets
单点更新
线段树
BuyTicketsTimeLimit:4000MS MemoryLimit:65536KTotalSubmissions:14377 Accepted:7183DescriptionRailwayticketsweredifficulttobuyaroundtheLunarNewYearinChina,sowemustgetupearlyandjoinalongqueue…TheLunarNew
corncsd
·
2015-01-27 12:00
HDU1754(线段树)
支持
单点更新
区间查询,支持区间更新区间查询对于任意的结点i,其左儿子结点编号为2*i(i #include #include #include #pragmawarning(disable:4996)
acraz
·
2015-01-21 20:00
上一页
9
10
11
12
13
14
15
16
下一页
按字母分类:
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
其他