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 可是
相關文章
相關標籤/搜索