随笔分类 -  线段树

1 2 下一页

lightoj 1179(线段树)
摘要:传送门:Josephus Problem题意:经典约瑟夫问题,有n个人,每次数到第k个人出列,求剩下的最后一人。分析:用线段树模拟约瑟夫问题,记录区间的减少情况,然后根据每次数到的人在区间排第几位,线段树log(n)找到并更新,总复杂度为O(nlog(n))。#include #include #i... 阅读全文

posted @ 2015-03-31 16:24 lienus 阅读(317) 评论(0) 推荐(0)

loj1370(欧拉函数+线段树)
摘要:传送门:Bi-shoe and Phi-shoe题意:给出多个n(1=n的最小的x之和。分析:先预处理出1~1e6的欧拉函数,然后建立一颗线段树维护最大值,对于每个n询问大于等于n的最左边下标。#pragma comment(linker,"/STACK:1024000000,1024000000"... 阅读全文

posted @ 2015-02-24 20:31 lienus 阅读(198) 评论(0) 推荐(0)

hdu4521(线段树+dp)
摘要:传送门:小明系列问题——小明序列题意:有n个数,求间距大于d的最长上升序列。分析:dp[i]表示在i点以a[i]结束距离大于d的最长上升序列,然后每更新到第i点时,取i-d之前小于a[i]的数为结束的最长上升序列进行状态转移,并维护前i-d之前的最大上升序列,维护i-d之前的每点为结束的最长上升序列... 阅读全文

posted @ 2015-02-14 23:41 lienus 阅读(139) 评论(0) 推荐(0)

FZU2176(二维线段树+dfs)
摘要:传送门:easy problem题意:给定一棵n个节点以1为根的树,初始每个节点的值为0,现在我们要在树上进行一些操作,操作有两种类型。1 x val 表示对以x为根的子树的每个点进行加权操作(我们定义每个节点的深度为每个节点到根1的距离),如果 y是以x为根的子树中的点那么 y节点的权值增加 ((... 阅读全文

posted @ 2015-02-12 22:15 lienus 阅读(163) 评论(0) 推荐(0)

FZU1608(线段树)
摘要:传送门:Huge Mission题意:给定区间范围[0,N] (2 #include#include#include#define LL long long#define maxn 50010#define lson l,m,rt>1; build(lson); build(rson);... 阅读全文

posted @ 2015-02-12 13:04 lienus 阅读(108) 评论(0) 推荐(0)

hdu5172(线段树)
摘要:传送门:GTY's gay friends题意:判断区间[l,r]内的数字是否符合1~len(r-l+1)的一个全排列。分析:pos[i]记录数字i出现的最大位置,pre[i]记录在位置i的数字a[i]出现的最大位置,然后每次判断区间内数字全不同且区间和为(len+1)*len就是一个全排列了。至于... 阅读全文

posted @ 2015-02-09 12:17 lienus 阅读(165) 评论(0) 推荐(0)

NEU月赛Segment Balls(线段树)
摘要:问题 D: Segment Balls时间限制: 1 Sec内存限制: 128 MB 提交: 253解决: 37题目描述SmallKhasrecentlyearnmoneyinstockmarket,sohewanttomakeballstocelebrateit.Nowhebuyssomanyba... 阅读全文

posted @ 2015-01-31 19:50 lienus 阅读(151) 评论(0) 推荐(0)

hdu1828(线段树——矩形周长并)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1828分析:与面积不同的地方是还要记录竖的边有几个(num记录),并且当边界重合的时候需要合并(用lbd和rbd表示边界来辅助)线段树操作:update:区间增减 query:直接取根节点的值#inclu... 阅读全文

posted @ 2015-01-22 01:57 lienus 阅读(297) 评论(0) 推荐(0)

hdu1255(线段树——矩形面积交)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1255题意:求N个矩形中,求被覆盖至少俩次的面积和分析:覆盖两次即col[rt]>=2就好。一开始将线段pushdown到叶子节点,根据col[rt]>=2才pushup上来,差点超时了,其实可以lazy... 阅读全文

posted @ 2015-01-22 01:46 lienus 阅读(672) 评论(0) 推荐(0)

hdu1542(线段树——矩形面积并)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1542分析:离散化+扫描线+线段树#pragma comment(linker,"/STACK:102400000,102400000")#include #include #include #inclu... 阅读全文

posted @ 2015-01-22 01:27 lienus 阅读(205) 评论(0) 推荐(0)

hdu4578(线段树)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4578题意:n个数,初始值为0,4种操作:1。将某个区间所有值加上另一个值;2。将区间所有值都乘上另一个值;3。将区间所有值置为某个值;4。查询区间中所有值的p次方和。详细分析:http://www.cn... 阅读全文

posted @ 2015-01-22 00:57 lienus 阅读(218) 评论(0) 推荐(0)

hdu4614(线段树+二分)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4614题意:给定一个区间[0,N-1],初始时每个位置上的数字都是0,可以对其进行以下两种操作:1、在位置A开始寻找F(如果没有这么多,则有多少个就找多少个)个数值为0的位置,把位置上的数修改为1,并返回... 阅读全文

posted @ 2015-01-22 00:43 lienus 阅读(422) 评论(0) 推荐(0)

hdu3974(线段树+dfs)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3974题意:给定点的上下级关系,规定如果给i分配任务a,那么他的所有下属。都停下手上的工作,开始做a。操作 T x y 分配x任务y,C x询问x的当前任务;分析:dfs将每个节点以下的子孙节点重新编号映... 阅读全文

posted @ 2015-01-22 00:29 lienus 阅读(315) 评论(0) 推荐(0)

hdu4553(线段树)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4553线段树功能:update:区间替换 query:询问满足条件的最左断点分析:poj3667的加强版,这里需要在每个区间内设置女神区间和屌丝区间,每次询问女神的时候,先看屌丝区间有无空位,有就插到屌丝... 阅读全文

posted @ 2015-01-22 00:11 lienus 阅读(1082) 评论(1) 推荐(0)

poj3667(线段树)
摘要:题目连接:http://poj.org/problem?id=3667题意:1 a:询问是不是有连续长度为a的空房间,有的话住进最左边2 a b:将[a,a+b-1]的房间清空线段树操作:update:区间替换 query:询问满足条件的最左断点#include#include#include#in... 阅读全文

posted @ 2015-01-21 23:58 lienus 阅读(201) 评论(0) 推荐(0)

hdu1540(线段树)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1540题意:是一条线上的点,D x是破坏这个点,Q x是表示查询以x所在的最长的连续的点的个数,R是恢复上一次破坏的点。线段树功能:单点修改,区间求值。分析:pre数组记录区间左端点开始的最大连续个数,s... 阅读全文

posted @ 2015-01-21 23:10 lienus 阅读(1063) 评论(0) 推荐(0)

hdu4027(线段树)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4027线段树功能:区间修改,区间求和。分析:因为每个数至多开6次平方就变1了,所以对于每一段全为1的线段做lazy标志,若该条线段全为1时,就不用继续往下update,修改复杂度O(6*N),查询O(lo... 阅读全文

posted @ 2015-01-21 23:00 lienus 阅读(140) 评论(0) 推荐(0)

poj3264(线段树区间求最值)
摘要:题目连接:http://poj.org/problem?id=3264题意:给定Q(1#include #include #include #include #include #include #include #include #include #include #include #define ... 阅读全文

posted @ 2015-01-21 22:51 lienus 阅读(262) 评论(0) 推荐(0)

zoj1610(线段树)
摘要:题目连接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1610题意:在0-8000长的线段里面,按先后次序依次覆盖颜色,求最后每种颜色有多少条线段树功能:区间覆盖。分析:区间覆盖后将叶子节点信息取出来O(N)扫一遍即可。注... 阅读全文

posted @ 2015-01-21 22:46 lienus 阅读(376) 评论(0) 推荐(0)

poj2528(线段树)
摘要:题目连接:http://poj.org/problem?id=2528题意:在墙上贴海报,海报可以互相覆盖,问最后可以看见几张海报分析:离散化+线段树,这题因为每个数字其实表示的是一个单位长度,因此离散化后的每个点如果相邻数字间距大于1的话,得在其中加上任意一个数字。否则如 [1 10] [1 3]... 阅读全文

posted @ 2015-01-21 22:30 lienus 阅读(197) 评论(0) 推荐(0)

1 2 下一页

导航