#include<bits/stdc++.h>
using namespace std;
int a,b;
int c[100005];
void add(int x,int y)//树状数组初始化
{
while(x<=a+b) c[x]+=y,x+=x&-x;//露馅了噗哈哈哈哈哈哈蛤哈哈哈哈哈哈
}
int ask(int x)//询问
{
int ans=0;
while(x) ans+=c[x],x-=x&-x;
return ans;
}
int main()
{
scanf("%d%d",&a,&b);
for(int i=1;i<=a+b;i++) add(i,1);//初始化
printf("%d",ask(a)+ask(b));
return 0;
}
都直接a+b了还用什么树状数组
看看方法就行了,主要是初始化、查询区间和的方法。