`
coolsooner
  • 浏览: 1310993 次
文章分类
社区版块
存档分类
最新评论

线段树水题几枚

 
阅读更多

最近接触了一下线段树,按理来说这个半年前就该看了,实际上自己却总想刷水题而躲避难题,不过,该来的还是要来的,既然选择了数据结构,就让各种树来的猛烈些吧。


以下为最初级的线段树,只更新点,没有delay操作


1.HDU 1166 敌兵布阵

这道题用线段树或者树状数组都可以做,HDU上的数据貌似很弱,模拟竟然都能过

首先是线段树版 ,线段树所带信息为当前区间所有点的值的和




然后是树状数组版





2.HDU 1754 I Hate It

同样是点更新,外加up操作即可,线段树所带信息是当前区间的最大值


3.HDU 1394Minimum Inversion Number

题意就是求逆序数,然后每次把当前序列的第一个数放到序列末尾求一次逆序数,总共n次,求其中最小的逆序数

其实求出最初的逆序数就行了,因为随后的逆序数能推导出来,总共n个数,0到n-1都有,比a[i]小的数是a[i] 个,大的数是n-1-a[i]个。

求逆序数时所用的方法是先查询再更新,查询的是已经存在的比自己大的数的个数,而线段树中所带的信息就是这一区间有几个数存在。



4.HDU 2795 Billboard

题意是给出一个 高为h宽为w的木板,然后往上贴高度为1,宽度wi的纸条,每次帖优先找到最高的帖,高度相同的要尽量往左边贴。

其实把板子横过来的话就好理解了,横坐标是h,然后尽量往左边贴条子

数据范围貌似挺大的,其实也不大,因为n只有20万,也就是说线段树的范围1到20万够用了

然后线段树的附加信息是这个区间内每一段h的剩余空间的最大值,查询的时候最终查到叶子节点,减掉消耗的长度就行了。



然后做了这几个初级题目后,发现查询的时候,一种是需要自定义查询范围的,还有一种是不需要自定义查询范围, 直接从祖先开始查的,查询函数的参数的个数自然就不同了


分享到:
评论

相关推荐

    线段树六题

    著名的线段树六题 囊括线段树整个知识点, 十分实用 当年凭借此六题, NOIP+NOI秒杀线段树题

    几道经典线段树题目及代码

    线段树、线段树啊、线段树,线段树啊、线段树

    线段树的一种实现

    一种简单的线段树的实现 ,基础功能比较完善

    pascal区间线段树

    一个讲述线段树的好资料,这里主要是程序部分,希望对广大成员能够有所帮助

    acm程序设计竞赛_培训_线段树

    浙江大学_acm程序设计竞赛_培训_线段树浙江大学_acm程序设计竞赛_培训_线段树浙江大学_acm程序设计竞赛_培训_线段树浙江大学_acm程序设计竞赛_培训_线段树浙江大学_acm程序设计竞赛_培训_线段树浙江大学_acm程序设计...

    线段树模板

    线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(logN)。而未优化的...

    线段树ppt的好东东

    线段树ppt,线段树ppt,线段树ppt,树ppt,线段树ppt,线段树ppt,

    线段树区间更新code

    线段树区间更新代码线段树区间更新代码线段树区间更新代码线段树区间更新代码

    权值线段树和主席树入门

    权值线段树和主席树入门PPT,权值线段树,顾名思义就是记录权值的线段树,普通的线段树直接以坐标为l,r建树,而权值线段树是以大小来建树,树上寸的信息是该权值的数量,而通过建树时二分从小到大的性质,可以用这...

    线段树(模板+例题——郭神)

    线段树(模板+例题——郭神) 私用,随意拿!

    线段树学习ppt

    线段树学习ppt

    线段树初步(C++)

    讲解线段树基本应用,适合初学者下载使用!

    线段树完整版

    ACM学习中 涉及到线段树的代码分析模板

    线段树乘法模板(从基础线段树扩展)

    线段树乘法是一种线段树的扩展应用,它允许对区间内的元素进行乘法运算。以下是针对标题为“完整的线段树模板,基础模板”的资源描述,但特别强调了线段树乘法的应用: 资源标题:完整的线段树模板,基础模板(含...

    线段树动态问题

    如何解决动态范围求和问题,如何简单地了解线段树。 附有模板以及习题

    线段树模板 zoj1128

    本资源是对线段树操作比较完整的操作,包括线段树的动态插入,动态删除和维护,可以查询区段的最大值,最小值,完成线段树的基本操作。

    线段树PPT两个,所有常规用法

    线段树PPT,所有常规用法线段树PPT,所有常规用法线段树PPT,所有常规用法线段树PPT,所有常规用法

    线段树.pdf

    线段树完全版,涉及到线段树的所有用法。 包括单点更新(增减,替换),区间求和,区间最值。 区间求最大值的位置。 成段更新(延迟标记,增减)。 离散化 扫描线

    线段树(一)

    线段树(一)

    线段树 go语言实现

    go语言实现的线段树源码, 可以直接运行, 代码简洁清晰, 快去下载吧

Global site tag (gtag.js) - Google Analytics