样例都过但依然RE 拜托各位大佬看一看-树状数组
查看原帖
样例都过但依然RE 拜托各位大佬看一看-树状数组
1032417
jnyx_Njob楼主2024/9/17 14:24

样例都过但依然RE 拜托各位大佬看一看

#include<bits/stdc++.h>
using namespace std;

int n,m;

long long a[500001];

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

int add_point(int x,int k){
	
	for(int i=x;i<=n;i+=lowbit(i)){
		
		a[i]+=k;
		
	}
	
}

void search(int l,int r){
	
	long long sum=0;
	//cout<<endl; 
	
	for(int i=l-1;i>0;i-=lowbit(i)){
		
		sum-=a[i];
		
		//cout<<sum<<" ";
		
	}
	
	for(int i=r;i>0;i-=lowbit(i)){
		
		sum+=a[i];
		//cout<<sum<<" ";
		
	}
	
	cout<<sum<<endl;
	
}

void ci(){
	
	cin>>n>>m;
	
	for(int i=1;i<=n;i++){
		
		int cin_i;
		cin>>cin_i;
		add_point(i,cin_i);
		
	}
	
	for(int i=1;i<=m;i++){
		
		int a,x,y;
		cin>>a>>x>>y;
		
		if(a==1){
			
			add_point(x,y);
			
		}
		
		else if(a==2){
			
			search(x,y);
				
		}
		
	}
	
}

int main(){
	
	ci();
	
	return 0;
}

2024/9/17 14:24
加载中...