首页 > 其他分享 >最基础树状数组

最基础树状数组

时间:2024-03-20 22:33:06浏览次数:21  
标签:val 树状 int 基础 cin pos add 数组 op

1.单点加
2.前缀和查询

int n, m;
int a[N];
int tr[N];
int lowbit(int x){
	return x&(-x);
}
void add(int pos,int k){
	for(int i=pos;i<=n;i+=lowbit(i))tr[i]+=k;
}
int query(int x){
	int res=0;
	for(int i=x;i;i-=lowbit(i))res+=tr[i];
	return res;
}
void solve(){
	cin>>n;cin>>m;
	for(int i=1;i<=n;i++){
	int x;cin>>x;
	add(i,x);
	}
	while(m--){
		int op;cin>>op;
		if(op==1){
			int pos,val;cin>>pos>>val;
			add(pos,val);
		}
		else {
			int l,r;cin>>l>>r;
			cout<<query(r)-query(l-1)<<endl;
		}
	}
}

标签:val,树状,int,基础,cin,pos,add,数组,op
From: https://www.cnblogs.com/mathiter/p/18086286

相关文章

  • lc3072 将元素分配到两个数组中2
    给定数组nums[n],定义f(arr,val)表示数组arr中大于val的元素个数,需要操作n次将nums分配到两个数组里,具体如下:第1次操作将nums[1]追加到arr1,第2次操作将nums[2]追加到arr2后续第i次操作:如果f(arr1,nums[i])>f(arr2,nums[i]),则将nums[i]追加到arr1。如果f(arr1,nums[i])<f(a......
  • 九.pandas绘图基础
    目录九.pandas绘图基础1-柱状图--参数stacked=True堆积--参数figsize=(宽,高)--自定义横坐标--设置字体&显示负号2.箱型图3.折线图九.pandas绘图基础Pandas的DataFrame和Series,在matplotlib基础上封装了一个简易的绘图函数,使得我们在数据处理过程中方便可视化......
  • 爬虫入门系列-HTML基础语法
    ......
  • leetcode代码记录(长度最小的子数组
    目录1.题目:2.我的代码:小结:1.题目:给定一个含有n个正整数的数组和一个正整数target。找出该数组中满足其总和大于等于target的长度最小的连续子数组[numsl,numsl+1,…,numsr-1,numsr],并返回其长度。如果不存在符合条件的子数组,返回0。示例1:输......
  • 【前端Vue】Vue从0基础完整教程第3篇:面经PC端-element (上)【附代码文档】
    Vue从0基础到大神学习完整教程完整教程(附代码资料)主要内容讲述:vue基本概念,vue-cli的使用,vue的插值表达式,{{gaga}},{{if(obj.age>18){}}},vue指令,综合案例-文章标题编辑vue介绍,开发vue的方式,基本使用,如何覆盖webpack配置,目录分析与清理,vue单文件组件的说明,vue通......
  • java基础的项目
    334,零钱通   思路:(1)先完成显示菜单,并可以选择菜单,给出对应提示(2)完成零钱通明细,简单的话可以使用String拼接(3)完成收益入账  完成功能驱动程序员增加新的变化和代码(4)消费(5)退出(6)用户输入4退出时,给出提示"你确定要退出吗?y/n",必须输入正确的y/n,否则循环输入指令,直到......
  • Linux基础命令
    一.Linux的目录结构Linux的目录结构是一个树型结构Windows系统可以拥有多个盘符,如C盘、D盘、E盘Linux没有盘符这个概念,只有一个根目录/所有文件都在它下面二.Linux命令1.Linux命令基础格式command[-options][parameter]command命令本身options:[可选,非必填]命......
  • (C++20) jthread中stop_token的基础使用
    (C++20)jthread中stop_token的基础使用文章目录(C++20)jthread中stop_token的基础使用C++20jthread使用方式循环判断条件变量condition_variable_anystop回调std::stop_callbackENDC++20jthreadstd::jthread-cppreference.comstd::stop_token-cpprefere......
  • 【无标题】计算机图形学OpenGL基础
    一、OpenGL的主要功能模型绘制模型观察颜色模式光照应用图像效果增强位图和图像处理纹理映射实时动画交互技术二、OpenGL的绘制流程----------工作方式**一个完整的窗口系统的OpenGL图形处理系统的结构为:最底层为图形硬件,第二层为操作系统,第三层为窗口系统,第四层为OpenG......
  • WebRTC基础使用
    一、什么是WebRTCWebRTC(WebReal-TimeCommunication)是一个由Google、Mozilla、Opera等公司发起的开源项目,它支持网页浏览器进行实时音视频对话。它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和音频流或者其他任意数据的传......