线段树(带删除节点)

这篇博客介绍了如何使用线段树数据结构来处理动态删除和区间查询的问题。在给定的数组中,可以执行删除指定位置元素和查询区间最小值与最大值的操作。博客提供了样例输入和输出,并给出了不同规模问题的时间限制和分数分配。

动态最值(minmax.Cpp/c/java)
(空间限制128M)

有一个包含n个元素的数组,要求实现以下操作:
DELETE k:删除位置k上的数。右边的数往左移一个位置。
QUERY i j:查询位置i~j上所有数的最小值和最大值。

【输入】(minmax.in)
输入第一行包含两个数n, m,表示原始数组的元素个数和操作的个数。第二行包括n个数,表示原始数组。以下m行,每行格式为1 k或者2 i j,其中第一个数为1表示删除操作,为2表示询问操作。
【输出】(minmax.out)
输出一行,包括两个数,表示该范围内的最小值和最大值。
【样例输入】
10 4
1 5 2 6 7 4 9 3 1 5
2 2 8
1 3
1 6
2 2 8
【样例输出】
2 9
1 7
【限制】
数组中的元素绝对值均不超过109
第一组:n = 10, 1 分, 时限 0.1s
第二组:n = 333, 2 分, 时限 0.1s
第三组:n = 4232,3分, 时限 0.1s
第四组:n = 6324, 4分, 时限 0.2s
第五组:n = 9999, 5分, 时限 2s
第六组:n = 100000, m = 300000, 10分,时限 2s
第七组:n = 300000, m = 422342, 13分,时限 3s
第八组:n = 500000, m = 651222, 18分,时限 3s
第九组:n = 900000, m = 432122, 22分,时限 5s
第十组:n = 999999,m = 999999,22分,时限 5s

/************************
   author   : Grant Yuan
   time     : 2014/10/4 18:06
   source   : 十一第二场
   algorithm: 线段树
*************************/
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值