记录编号 174435 评测结果 AAAAAAAAAA
题目名称 贪婪大陆 最终得分 100
用户昵称 Gravatarforever 是否通过 通过
代码语言 C++ 运行时间 0.308 s
提交时间 2015-08-01 16:06:23 内存使用 0.86 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
int c[100005],d[100005];
int n,m,num,q,w,e;
int lowbit(int x)
{
	return x&(-x);
}
void jia(int x,int y){
	for(int i=x;i<=n;i+=lowbit(i))
	  c[i]++;
	for(int i=y;i<=n;i+=lowbit(i))
	  d[i]++;
}
int getnum1(int x)
{
	int sum=0;
	for(int i=x;i>0;i-=lowbit(i))
	  sum+=c[i];
	return sum;
}
int getnum2(int y){
	int sum=0;
	for(int i=y;i>0;i-=lowbit(i))
	  sum+=d[i];
	return sum;
}
int main()
{   freopen("greedisland.in","r",stdin);
	freopen("greedisland.out","w",stdout);
	scanf("%d%d",&n,&m);
	for(int i=1;i<=m;++i)
	{
		scanf("%d%d%d",&q,&w,&e);
		if(q==1)
		 {  num++;
		 	jia(e,w);
		 }
		if(q==2)
		{
			int hj1=getnum1(w-1);
			int hj2=getnum2(e);
			int hj3=hj1+num-hj2;
			printf("%d\n",num-hj3);
		}
	}
}