树状数组入门算法笔记

预备知识——前缀和

A为N个数所在的数组,B为另一个新的数组
令B数组的第 i 项为A数组的A1至Ai项之和
即:Bi = A0+A1+A2 + …+Ai
则有Bi = Bi-1 + A i(其中B0 = A0
特别的,有时候为了方便,AB数组都从下标1开始

前缀和的主要用途?
区间求和!

二叉树

叶子结点代表A数组A[1]~A[8]

在这里插入图片描述
变化后在这里插入图片描述

C[i]代表 子树的叶子结点的权值之和// 这里以求和举例

在这里插入图片描述

二进制最后一个1代表某个数,Ci从Ai往前数这么多项

方法1:(易于理解)

int lowbit(int x)
{
	return x - ( x & (x - 1) ) ;
}

方法2:(更简洁)

int lowbit(int x)
{
	return	x & -x;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值