关于结构体的一些小锅
  • 板块学术版
  • 楼主Terminator_SHH
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/12/30 16:07
  • 上次更新2023/10/24 06:07:09
查看原帖
关于结构体的一些小锅
560318
Terminator_SHH楼主2022/12/30 16:07

出现问题

32	6	C:\Users\Administrator\Desktop\BIT.cpp	[Error] request for member 'add' in 'a', which is of non-class type 'int'

代码

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

const int maxlen=1e6+10;
int arr[maxlen];

struct BIT{
	int N,T[maxlen];
	inline int Lowbit(int x){return x&(~x+1);}
	inline void add(int pos,int val){
		for(;pos<=N;pos+=Lowbit(pos) ) T[pos]+=val;
	}inline int ask(int pos){
		int sum=0;
		for(;pos;pos-=Lowbit(pos) ) sum+=T[pos];
		return sum;}
};

int main()
{
	BIT a;
	int N,M;
	cin>>N>>M;
	a.N=N;
	for(int i=1;i<=N;i++)cin>>arr[i];
	for(int i(1);i<=a.N;++i) a.add(i,arr[i]);
	for(int i=1;i<=M;i++)
	{
		int op,a,b;
		cin>>op>>a>>b;
		if(op==1)
		{
			a.add(a,b);
		}else{
			cout<<a.ask(b)-a.ask(a);
		}
	}
	return 0;
}
/*
5 5
1 5 4 2 3
1 1 3
2 2 5
1 3 -1
1 4 2
2 1 4
*/
2022/12/30 16:07
加载中...