树状数组(BIT)
2024-10-06 22:39:10
树状数组
树状数组是在线段树的结构上改造而来数据结构,主要用于完成:
给定一个初始值全为0的数列
①给定i,计算返回a1+a2+……+ai的值
②给定i和x,执行ai+=x
BIT的求和
ll sum(int i)
{
ll s = 0;
while (i > 0)
{
s += bit[i];
i -= i & -i;
}
return s;
}
BIT的值更新
void add(int i, int x)
{
while (i <= n)
{
bit[i] += x;
i += i & -i;
}
return;
}
最新文章
- 使用PhantomJS实现网页截图服务
- [R语言]R语言使用多线程对数据库进行大批量访问时出现无法连接问题
- idea community 配置已有的scala工程
- cocos2dx 2.0 CCScrollView的用法以及滑动的原理
- 时隔两年最近再次折腾opensuse 的一些笔记 - opensuse linux java service shell
- hdu4648Magic Pen 6
- C#2.0至4.0 的一些特性
- 问题在哪?动态菜单条-------Day86
- CentOS 安装Chrome
- jeecg项目子窗口获得父窗口元素id
- Dapper一个和petapoco差不多的轻量级ORM框架
- Servlet-获取页面的元素的值的方式以及区别
- asp.net 的三种开发模式
- 守护进程,互斥锁,IPC,队列,生产者与消费者模型
- R语言可视化学习笔记之添加p-value和显著性标记--转载
- centos下查看python的安装目录
- URL中文编码
- 通过anaconda进行python多版本控制
- ios的一些知识点
- Android四大组件之Intent(续2)