eeeeeeee 我对着这段代码改了1天
查看原帖
eeeeeeee 我对着这段代码改了1天
674798
yvanchuyvesb楼主2022/7/27 16:25
#include<bits/stdc++.h>
#define did_AK_IOI 500005
using namespace std;
int n,m,c[did_AK_IOI];
int lowbit(int x)
{
	return x&(-x);
}
int sum(int x)
{
	int ans=0;
	for(int i=x;i>0;i-=lowbit(i))
		ans+=c[i];
	return ans;
}
void update(int x,int d)
{
	for(int i=x;i<=n;i+=lowbit(i))
		c[i]+=d;
	return ;
}
int main()
{
	int a,b,t;
	bool f;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>t;
		update(i,t);
	}
	while(m--)
	{
//		cout<<m<<" ";
		cin>>f>>a>>b;
//		cout<<m<<" ";
		if(f==2) cout<<sum(b)-sum(a-1)<<endl;
		else update(a,b);
	}
	return 0;
}

然后

#include<bits/stdc++.h>
#define did_AK_IOI 500005
using namespace std;
int n,m,c[did_AK_IOI];
int lowbit(int x)
{
	return x&(-x);
}
int sum(int x)
{
	int ans=0;
	for(int i=x;i>0;i-=lowbit(i))
		ans+=c[i];
	return ans;
}
void update(int x,int d)
{
	for(int i=x;i<=n;i+=lowbit(i))
		c[i]+=d;
	return ;
}
int main()
{
	int a,b,t,f;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>t;
		update(i,t);
	}
	while(m--)
	{
//		cout<<m<<" ";
		cin>>f>>a>>b;
//		cout<<m<<" ";
		if(f==2) cout<<sum(b)-sum(a-1)<<endl;
		else update(a,b);
	}
	return 0;
}
2022/7/27 16:25
加载中...