Codeforces 484E Sign on Fence(可持久化线段树+二分)

博客介绍了如何使用可持久化线段树解决Codeforces 484E问题。题目要求找出序列中在指定区间内,连续高度大于给定值w的最大长度的最大高度。博主首先将高度降序排列,然后利用可持久化线段树维护区间最大连续长度。查询时采用二分查找高度,以提高效率。
摘要由CSDN通过智能技术生成

题目链接:Codeforces 484E Sign on Fence

题目大意:给定给一个序列,每个位置有一个值,表示高度,现在有若干查询,每次查询l,r,w,表示在区间l,r中,

连续最长长度大于w的最大高度为多少。

解题思路:可持久化线段树维护区间合并,前端时间碰到一题可持久化字典树,就去查了一下相关论文,大概知道了是

什么东西。

将高度按照从大到小的顺序排序,然后每次插入一个位置,线段树维护最长连续区间,因为插入是按照从大到小的顺

序,所以每次的线段树中的连续最大长度都是满足高度大于等于当前新插入的height值。对于每次查询,二分高度,因

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值