I AK IOI!!!!!!!!!!!!!!!!!!!!!!!

#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 个赞

https://note.ms/iakioi

3 个赞

6

3 个赞

屏幕截图 2023-08-01 112245

3 个赞

@LeuR @栗子酱 回老帖!

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);
	}
}