线段树_树状数组I(11页建树有修正).pptVIP

  • 5
  • 0
  • 约4.14千字
  • 约 26页
  • 2017-05-28 发布于河南
  • 举报
线段树_树状数组I(11页建树有修正)

1 线段树,and树状数组 kennethsnow Problems with Intervals 区间查询 询问某段区间的某些性质(极值,求和,etc) 区间更新 某些操作影响了某段区间(统一加一个值……) 三个问题 更新点,查询区间 更新区间,查询点 更新区间,查询区间 一个使用了两年的经典问题 一个长度为N的一维数组(a[1]~a[N]) 我们每次对该数组有一些操作: 1、修改数组中某个元素的值 【1,5,4,1,6】---(a[2]=3)--- 【1,3,4,1,6】 2、询问数组中某段区间的最大值 【1,5,4,1,6】---(max(1,4)=?)--- 5 3、询问数组中某段区间的和 【1,5,4,1,6】---(sum(3,5)=?)--- 11 线段树 如果只有一次询问? 枚举相应区间内的元素,输出答案 O(N) 更多的询问? Q次询问,O(NQ) Thats too SLOW! 线段树——在O(log2N)的时间内完成每次操作 O(Qlog2N) Less than 1 seconds when N=Q=100000 线段树——结构 线段树的本质是一棵二叉树,不同于其它二叉树,线段树的每一个节点记录的是一段区间的信息。 e.g. 对于长度为5的数组a[1]~a[5] [1,5] [1,3]

文档评论(0)

1亿VIP精品文档

相关文档