#include<bits/stdc++.h>
#define N 100010
#define I scanf("%d%d",&n,&m);
#define AK for(int i=1;i<=m;i++)
#define IOI int op,l,r;
#define II scanf("%d%d%d",&op,&l,&r);
#define AAKK if(op==1)
#define IIOOII for (int i=l;i<=n;i+=lowbit(i)) a[i]++;
#define III for (int i=r;i<=n;i+=lowbit(i)) b[i]++;
#define AAAKKK else
#define IIIOOOIII int sm1=0,sm2=0;
#define IIII for (int i=l-1;i>=1;i-=lowbit(i)) sm1+=b[i];
#define AAAAKKKK for (int i=r;i>=1;i-=lowbit(i)) sm2+=a[i];
#define IIIIOOOOIIII printf("%d\n",sm2-sm1);
#define IAKIOI return 0;
using namespace std;
int n,m,a[N],b[N];
int lowbit(int x) {return (-x)&x;}
int main()
{
I
AK
{
IOI
II
AAKK
{
IIOOII
III
}
AAAKKK
{
IIIOOOIII
IIII
AAAAKKKK
IIIIOOOOIIII
}
}
IAKIOI
}
/*
Iak ioi
*/
4 个赞
tjl
3 个赞
3 个赞
shide
回老帖
破译:(部分)
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++){
int op,l,r;
scanf("%d%d%d",&op,&l,&r);
if(op==1) {
for (int i=l;i<=n;i+=lowbit(i)) a[i]++;
for (int i=r;i<=n;i+=lowbit(i)) b[i]++;
} else {
int sm1=0,sm2=0;
for (int i=l-1;i>=1;i-=lowbit(i)) sm1+=b[i];
for (int i=r;i>=1;i-=lowbit(i)) sm2+=a[i];
printf("%d\n",sm2-sm1);
}
}