您好,登錄后才能下訂單哦!
<html> <HEAD></HEAD> <BODY> <textarea rows="50" cols="50"> /***************** http://www.anycodes.cn/zh/ [[樹狀數組]線段數] 高效:log(n) 操作:位操作 思想:二分法 百度百科之外還有以下博客 http://dongxicheng.org/structure/binary_indexed_tree/ http://blog.csdn.net/int64ago/article/details/7429868# t3 ******************/ #include <iostream> using namespace std; int in[]={1,2,3,4,5,6,7,8,9};int n=9; int lowbit0(int t) { return t & ( t ^ ( t - 1 ) ); } int lowbit(int x) { return x&-x; } /************** http://jinzhi.supfree.net/ 再度復習內存與位操作 如 存3 為0000 0011 -3 1111 1101 按位與 0000 0001 **************/ //求前n項和 int sum(int end) { int sum = 0; while(end > 0) { sum += in[end]; end -= lowbit(end); } return sum; } //增加某個元素的大小 void addx(int pos, int num) { while(pos <= n) { in[pos] += num; pos += lowbit(pos); } } void show() { for(int i=0;i<9;i++) cout<<in[i]<<" "; cout<<endl; } int main() { show(); addx(2,2); show(); cout<<sum(5); return 0; } /**** 對結果13還是有點疑問 ***/ </textarea> <textarea rows="50" cols="50"> </textarea> </BODY> </html>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。