数状数组
来源:互联网 发布:郭天祥51单片机书 编辑:程序博客网 时间:2024/06/11 22:22
一张图足以说明一起。
lowbit(k)=k&(-k); 把k 保留最右边的1,其余位全变0
sum[k]=c[n1]+c[n2]+…+c[k];
n i-1 = n i - lowbit(n i )
c[i]=a[i-lowbit[i]+1]+…+a[i];
对于才c[i]中 但i为奇数的时候 c[i]=a[i];
当为偶数的时候 从i-lowbit[i]+1 为开始到第i 位的和,
i-lowbit[i] 代表的是 去掉i 的最后一位1,(i的二进制形式)
在建立数状数组的时候 要有经过迭代 是迭代吗
用到公式 c[k]; k=k+lowbit(k); 一直到k大于整个原来数组的大小。
0 0
- 数状数组
- 数状数组
- 数状数组浅析
- 数状数组
- HDU1166 数状数组
- 数状数组
- Rotate(数状数组+逆序数)
- poj 3298 数状数组
- MooFest(数状数组)
- poj japan 数状数组解决逆序数
- hdu_2838 Cow Sorting(数状数组 逆序数)
- hdu5775Bubble Sort+数状数组求逆序数
- HDU3333(线段树/数状数组 + hash)
- 数状数组的原理与应用
- poj 2352 stars (数状数组)
- 【poj2155】【二维数状数组】Matrix
- poj2481 Cows(数状数组)
- hdu2492 数状数组或者线段树
- tensorflow35《TensorFlow实战》笔记-06-03 TensorFlow实现 GoogleInceptionV3 code
- ECLIPSE 链接数据库 MYSQL
- 智能指针
- 在Windows下使用webpack入门
- 策略模式
- 数状数组
- Mybatis的一级缓存和二级缓存机制
- java实验4(3)修改mysql数据库记录
- OpenCV 学习记录2 图像简单处理及调用摄像头
- 复制文件夹及内容
- php Header()用法
- CSS学习笔记:3 布局
- 【DP专辑】ACM动态规划总结
- 位运算笔试练习——判断两个整数(32位)的二进制表达有多少个位不同?