树状数组模板
来源:互联网 发布:linux虚拟主机销售系统 编辑:程序博客网 时间:2024/06/09 16:29
可以快速求区间和等问题,查询更新复杂度都是lgn, 常数比线段树低。
一维树状数组:
long long c[100010];int n;inline int lowbit(int x) { return x & -x;}void update(int idx, int v) { while (idx <= n) { c[idx] += v; idx += lowbit(idx); }}long long query(int x) {// The sum of 1 to x long long ans = 0; while(x > 0) { ans += c[x]; x -= lowbit(x); } return ans;}
二维树状数组:
long long BI_tree[1010][1010];int nx, ny;inline int lowbit(int x) { return x & -x;}void update(int x, int y, int v) { for(int i = x; i <= nx; i += lowbit(i)) for(int j = y; j <= ny; j += lowbit(j)) BI_tree[i][j] += v;}long long query(int x, int y) { long long ans = 0; for(int i = x; i > 0; i -= lowbit(i)) for(int j = y; j > 0; j -= lowbit(j)) ans += BI_tree[i][j]; return ans;}出处:http://blog.csdn.net/cfarmerreally/article/details/78277979
阅读全文
0 0
- 树状数组【模板】
- 树状数组模板
- 树状数组 模板
- 树状数组模板
- 树状数组模板
- 树状数组-模板
- 树状数组模板
- 树状数组模板
- 树状数组模板
- 树状数组--模板
- 树状数组模板
- 模板 树状数组
- 模板,树状数组
- 树状数组(模板)
- 树状数组模板
- 树状数组的模板;
- 树状数组 (模板)
- 树状数组BIT 模板
- 理解Linux系统/etc/init.d目录和/etc/rc.local脚本
- redis的基本存储结构的简单使用
- 怎样用通俗的语言解释REST,以及RESTful?
- Spring web环境容器启动流程
- jQuery 事件——关于Select选中
- 树状数组模板
- 套接字缓冲区 boost asio
- 基于maven使用IDEA创建多模块项目
- 记录一个过滤网址
- HDU 4810 Wall Painting
- 工具快捷键、编程风格、常用命令、实用工具等
- 我知道的新技术(持续更新)
- 充电电流的大小是谁决定的?
- 加班越久故障越多,如何跳出程序员的恶性循环?