树状数组
来源:互联网 发布:淘宝店铺一心好做吗 编辑:程序博客网 时间:2024/06/07 00:57
lowbit就是2^k.
而c[i]就是i-2^k+1 ~ i
#include<iostream>using namespace std;const int maxn = 2000;int a[maxn];int c[maxn];int getsumval(int x){ int sum = 0; /*while(x>0) { sum += c[x]; x -= x&(-x); } */ for(int i=x; i>0; i-= x&(-x)) { sum += c[i]; } return sum;}void add(int x, int v){ /*a[x] += v; while(x < maxn) { c[x] += v; x += x&(-x); }*/ a[x] += v; for(int i=x; i<maxn; i+=x&(-x)) { c[i] += v; }}int change(int x, int v){ int addval = v - a[x]; /*while(x < maxn) { a[x] = v; c[x] += addval; x += x&(-x); } */ for(int i=x; i<maxn; i+=x&(-x)) { a[i] = v; c[i] += addval; }}int main(){ add(12, 12); change(11, 2); change(8, 8); cout << getsumval(12) << endl; add(10, 10); cout << getsumval(12) << endl; change(10, 5); cout << getsumval(12) << endl; return 0;}
/*223227Process returned 0 (0x0) execution time : 0.253 sPress any key to continue.
*/
0 0
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- android Json解析详解(详细代码)
- 【more】可以分页(分屏)查看文件内容(支持向后翻页)
- JSP-Servlet中文乱码
- Elasticsearch 中文搜索搭建
- 并发与并行
- 树状数组
- [从头学数学] 第175节 统计
- Android自定义View之Layout的放缩(2)
- 【tail】查看文件后n行
- 使用BIND安装智能DNS服务器 添加view和acl配置
- ajax跨域请求实例
- 关于dom 事件冒泡、捕获 dom事件三个阶段
- HDU 4411 Arrest 费用流
- CQOI2016省选游记