100分求助
查看原帖
100分求助
1126325
Indestructible楼主2024/2/25 19:03

我想知道为什么树状数组递归会RE……qwq

AC

int ask(int x){
	int ans=0;
    while (x) ans+=a[x],x-=lowbit(x);
    return ans;
}
int sum(int x,int y){
	return ask(y)-ask(x-1);
}
void add(int x,int y){
    while (x<=n) a[x]+=y,x+=lowbit(x);
}

RE

int ask(int x){
	if (x==lowbit(x)) return a[x];
	return a[x]+ask(x-lowbit(x));
}
int sum(int x,int y){
	return ask(y)-ask(x-1);
}
void add(int x,int y){
	if (x>n) return;
	a[x]+=y,add(x+lowbit(x),y);
}
2024/2/25 19:03
加载中...