树状数组原理

功能:

①快速求前缀和 O ( l o g n ) O(logn) O(logn)

②修改某一个数 O ( l o g n ) O(logn) O(logn)

操作:

①:建树

void add(int x, int c) {
    //树状数组的插入操作
	for (int i = x;i <= n;i += lowbit(i))tr[i] += c;
}

②:区间查询:1 ~ x 前缀和

for(int i = x;i <= n;i += lowbit(i))res += c;

③:单点修改:

for(int i = x;i;i -= lowbit(i))tr[i] += c; 
全部评论

相关推荐

起名字真难233:这名字一看就比什么上海寻梦信息技术有限公司,北京三快网络技术有限公司等高级不少
点赞 评论 收藏
分享
2024-12-18 12:05
华东师范大学 golang
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务