温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

树形数组 学习之外总能发现别人更好的

发布时间:2020-07-19 08:07:55 来源:网络 阅读:319 作者:wzdouban 栏目:编程语言
 <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>


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI