第五个点 WA 了,求改。
#include<bits/stdc++.h>
#define N 100010
#define int long long
using namespace std;
int n,m,q,ax[N],ay[N],tx[N],ty[N],x,y,z,w,v;
int lowbit(int x){return x&-x;}
void add(int x,int y){
for(int i=x;i<=n;i+=lowbit(i)) tx[i]+=y;
}
void add2(int x,int y){
for(int i=x;i<=n;i+=lowbit(i)) ty[i]+=y;
}
void jia(int x,int y){
if(ax[x]) ax[x]=0,add(x,-1);
else ax[x]=1,add(x,1);
if(ay[y]) ay[y]=0,add2(y,-1);
else ay[y]=1,add2(y,1);
}
int query(int x){
int ans=0;
for(int i=x;i;i-=lowbit(i)) ans+=tx[i];
return ans;
}
int query2(int x){
int ans=0;
for(int i=x;i;i-=lowbit(i)) ans+=ty[i];
return ans;
}
signed main(){
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
cin>>n>>m>>q;
while(q--){
cin>>x>>y>>z;
if(x==1) jia(y,z);
else{
cin>>w>>v;
int xx=query(w)-query(y-1),yy=query2(v)-query2(z-1);
cout<<xx*(v-z+1)+yy*(w-y+1)-xx*yy*2<<endl;
}
}
return 0;
}