黑猫的ACM模板

/**
 *树状数组 ( Binary Indexed Tree)
 *时间复杂度:log(n)
 *数组下标必须从 1 开始!
 *Max为范围
 *Inssert(int pos,int val):     pos位置增加val
 *Sum(int pos)                  计算从 1 ~ pos 所有元素的和
 */
 #include<bit/stdc++.h>
 int Max
 long long c[Max];
 int lowbit(int x)
 {
     return x&(-1*x);
 }
 void Insert(int pos,int val)
 {
     while(pos<=Max)
     {
         c[Max]+=val;
         pos+=lowbit(pos);
     }
 }
 long long Sum(int pos)
 {
     long long ans = 0;
     while(pos>0)
     {
         ans+=c[pos];
         pos-=lowbit(pos);
     }
     return ans;
 }

如有问题请联系QQ:826409960

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值