线段树
sdjzping
这个作者很懒,什么都没留下…
展开
-
Balanced Lineup (基本线段树)
点击打开链接1、题目大意:有N头牛,给定N头牛的高度,输出给定区间内最高牛的高度与最低牛的高度差 输入:第一行两个数N、Q分别代表N头牛,Q个操作区间接下来输入N个数,代表N头牛的高度接下来是Q个操作区间,每一个操作区间输出一个高度差2、题目:Balanced Lineup Time Limit : 10000/5000ms (Java/Other) Mem原创 2013-01-29 21:13:05 · 1483 阅读 · 0 评论 -
poj 2352 Stars(简单树状数组)此题也可以用线段树来做
1、http://poj.org/problem?id=23522、题目大意:给出n个点的坐标,定义一个点的等级为这个点的左下方的点的个数,输出等级为0的点的个数,等级为1的点的个数,一直输出到等级为n-1的点的个数题目已经给出是按照y坐标排序的,y相同按照x从小到大排序的,所以可以直接用树状数组的三个必要函数求用sum(x)求出这之前的个数,计算个数有多少个,输出即可3、题目原创 2014-02-26 10:32:48 · 995 阅读 · 0 评论 -
poj 1823 Hotel(线段树,整段更新)
1、http://poj.org/problem?id=18232、题目大意;一个宾馆要开发一个系统,该系统允许三种操作,第一种就是有n个旅客要住房,从m开始,连着住n个,另一种就是易组旅客要离开宾馆,退n个房间,是从i开始的连续n个房间,第三种也就是要输出的,老板随时问该宾馆现在可以接多大的组,也就是说空着的区间最长是多少3、题目:HotelTime Limi原创 2014-02-18 14:23:28 · 837 阅读 · 0 评论 -
poj 3667 Hotel(此题跟poj 1823有共同点,都属于区间合并问题)
1、http://poj.org/problem?id=36672、题目大意:一个hotel住旅客和走旅客,现在有N间房子,操作命令有两种,1代表要找一个连续空间长度就是1后边跟着的数字,此时要输出这个连续空间的首位置,2代表清空部分房间,2后边跟着两个数n,c,b就代表起始位置,c代表连续c个房子都要清空,详细与poj 1823相同,就是求的有些不同,多了一个查询3、题目:Hot原创 2014-02-18 15:36:30 · 523 阅读 · 0 评论 -
hdu 1754 I Hate It(线段树,单点替换,求区间最值)
1、http://acm.hdu.edu.cn/showproblem.php?pid=1754这道题目一直Runtime Error(STACK_OVERFLOW),原来是读入Q,U的时候不能只读入一个字符,得把回车也读进来2、题目大意:I Hate ItTime Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/3原创 2014-02-18 17:32:39 · 701 阅读 · 0 评论 -
poj 2828 Buy Tickets(线段树中单点更新较难的题目)
1、http://poj.org/problem?id=28282、题目:Buy TicketsTime Limit: 4000MS Memory Limit: 65536KTotal Submissions: 11462 Accepted: 5617DescriptionRailway tickets w原创 2014-02-18 20:20:49 · 765 阅读 · 0 评论 -
poj 2886 Who Gets the Most Candies?(线段树单点更新+反素数)真难。。。
1、http://poj.org/problem?id=28862、题目大意:N 个小孩围成一圈,他们被顺时针编号为 1 到 N。每个小孩手中有一个卡片,上面有一个非 0 的数字,游戏从第 K 个小孩开始,他告诉其他小孩他卡片上的数字并离开这个圈,他卡片上的数字 A 表明了下一个离开的小孩,如果 A 是大于 0 的,则下个离开的是左手边第 A 个,如果是小于 0 的,则是右手边的第 -A原创 2014-02-19 15:34:12 · 653 阅读 · 0 评论 -
poj 3468 A Simple Problem with Integers(线段树成段更新,懒惰标记的使用)经典题目
1、http://poj.org/problem?id=34682、题目:A Simple Problem with IntegersTime Limit: 5000MS Memory Limit: 131072KTotal Submissions: 52972 Accepted: 15828Case Time Limit: 20原创 2014-02-19 20:44:16 · 810 阅读 · 0 评论 -
关于线段树懒惰标记的理解,成段更新(poj 3468为例)
懒惰标记实际上就是让子节点暂时处于不更新状态,用到的时候再更新,如本题中的visit[]就是懒惰标记,例如总长度是1-10,我们现在要想更新1-6,(将1-6的值都加3)那么update()会先找1-10,发现不合适,再找他的左右孩子,发现15,1-6也在1-10的右孩子中,这样依次去找1-6在的区间。但是找到1-5的时候,我们发现整个1-5都在1-6中间,也就是说这一段都要更新,那么我们将1-5原创 2014-02-20 10:10:00 · 3806 阅读 · 1 评论 -
poj 1991 Turning in Homework(区间DP,大区间推出小区间的思想)好题,想法很独特
1、http://poj.org/problem?id=19912、题目大意:Bessie要交作业,现在知道每个教师的位置,假设都位于X轴上,每份作业都有一个最早交的时间,知道公交车站位于坐标B的对面,假设他每走一个单位耗费时间是1,求他交完作业到达公交车站那最少的时间是什么?3、题目分析这道题目乍一看好像有思路,这跟吃草坪的拿到题目很像,但仔细已考虑就发现不是那么回事,现在我们不原创 2014-02-24 22:12:54 · 2156 阅读 · 0 评论 -
hdu 3308 LCIS(线段树单点更新+区间合并)中等难度的题目
1、http://acm.hdu.edu.cn/showproblem.php?pid=33082、题目大意:给出一个由n个数字组成的序列,有两种操作,U A B是将A位置的数字替换成B,Q A B是查询A-B区间有多少个递增的数字,也就是求A-B区间的最长上升子序列的长度这道题目有对区间的查询及对单点的更新,很容易想到线段树,只是在具体实现的时候还是有些困难,具体看代码3、题目:原创 2014-02-24 14:06:13 · 748 阅读 · 0 评论 -
选美大赛(线段树)
点击打开链接1、题目:热烈庆祝ACM协会获山东理工大学明星社团!pingqing(pingqing)收件箱(0)注销 选美大赛Time Limit: 1000MS Memory limit: 65536K 题目描述 有n个模特参加选美大赛,各个比基尼选手都已经按照编号站在了评委面前,展现自我魅力与个性,等待脱颖而出! 而评委浪子,收原创 2013-01-28 10:20:30 · 683 阅读 · 0 评论 -
hdu 1166 敌兵布阵(线段树,只更新叶子节点)
1、点击打开链接hdu 1166 敌兵布阵2、题目大意:求某一区间内兵的总数,线段树功能:update:单点增减 query:区间求和3、题目:敌兵布阵Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 23500原创 2013-02-20 11:33:15 · 493 阅读 · 0 评论 -
Billboard (线段树更新叶子节点)
点击打开链接Billboard1、题目大意:在大学门口,有一个高位h 宽为w的广告牌,现在广告牌是空的,有一些小的广告要张贴到广告牌上,已知这些小广告的高度都是1,宽为wi,张贴有一定规律,按照顺序来,并且往最高处贴,如果最高处贴不开就往下一行贴,输出每一张广告贴在的行,若果广告牌上贴不开,就输出-1思路:将展板90度旋转,即可将长度作为叶子节点2、题目:Billboard原创 2013-02-20 17:32:38 · 1872 阅读 · 1 评论 -
hdu 1698 Just a Hook(线段树 成段更新)
1、点击打开链接厚度1698 Just a Hook2、题目大意:给定n个钩子,价值都是1,然后给出m个操作,a,b,c,即将a到b区间的钩子价值变成c,求经过这些操作之后,这些钩子的总价值,需要注意的是不用每次查询都输出,要求输出的是总的,只需要输出sum[1]即可;成段更新,需要有一个延迟标记数组,并且注意更新时不必要更新到底,用到时更新父节点,不用时只需要标记即可,往下更新相当于原创 2013-02-21 11:13:30 · 527 阅读 · 0 评论 -
Minimum Inversion Number(线段树求逆序数)
点击打开链接Minimum Inversion Number有一点没想明白,今天突然间想明白了,sum[rt]记录的是rt表示的区间有几个数,而输入一个数,查询一次,查询的目的就是返回当前区间内已经输入了多少个数,查询区间是(x,n-1)是因为要找总共有多少个逆序数,比如说先输入5,再输入3,那么输入3时查询前边输入的数有几个比三大的即当前这些数的总的逆序数,因为输入3,前边找到一个比3大的数原创 2013-02-20 11:25:53 · 569 阅读 · 0 评论 -
uva 12086 - Potentiometers
1、http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=32382、题目大意:给定N个电阻值,然后有两种操作,M a b操作是查询a b之间的电阻值之和,S a b 操作时改变a电阻值为b,对于每一个M操作,输出一个电阻值之和,此题与hdu 1166 完原创 2013-04-12 23:16:31 · 1558 阅读 · 1 评论 -
poj 3225 Help with Intervals(线段树+区间的交集,差集,补集,并集)好难的题目,一天了,真是纠结
好题,真难,都看一天了,总算是AC了,真够纠结的啊,参考博客http://www.notonlysuccess.com/index.php/segment-tree-complete/1、http://poj.org/problem?id=32252、题目大意:给一个空的区间,经过给定的五种操作,输出最终的结果,五种操作分别是CommandSemantics原创 2014-02-21 22:42:35 · 1717 阅读 · 0 评论 -
poj 1436 Horizontally Visible Segments(线段树成段覆盖问题+简单hash),好题,覆盖问题想法较难
1、http://poj.org/problem?id=14362、题目大意:给出n段垂直的线段,如果两条线段可以用一条水平的线连接起来,且中间不能跟别的垂直的线相交,那么这两条线段称作是可见的,如果有三条线段两两是可见的,那么称作是线段三角形,求给出的这n条垂直的线段可以组成多少个线段三角形?3、思路分析要求多少个线段三角形,就是求有多少个三条线段两两相交的,首先我们先求出两条线原创 2014-02-22 18:16:24 · 773 阅读 · 0 评论 -
poj 2528 Mayor's posters(线段树区间更新+离散化)经典题目,较难。。。
1、http://poj.org/problem?id=25282、题目大意:有一面墙,宽度是10000000,现在要在这面墙上贴海报,每张海报的高度都是墙的高度,但是宽度不同,现在给出各个海报的宽度,按照贴的顺序,后贴的会覆盖先贴的,求都贴完后,能看到几张海报,一张海报只要露着一部分就算是一张可以看到的3、思路:由于题目中wall有10000000bytes long,直接线段树原创 2014-02-20 16:35:14 · 950 阅读 · 0 评论