C++树状数组详解

引入 若是给你n个数,而后进行q次询问,每次询问一个区间[x,y]的和,你会怎么作? 第一种方法:最简单的方法,用数组存起来,每次枚举x-y,ans加起来就能够,时间复杂度O(qn),十分慢。 第二种方法:或许大多数人会使用前缀和数组:sum[i]=a[1]+a[2]+…+a[i],因此求[x,y]只须要输出sum[y]-sum[x-1]便可,时间复杂度O(n),这是最快的方法之一了。web 可是
相关文章
相关标签/搜索