比赛 [不是Rapiz出的]农场主钦定NOIP模拟赛1 评测结果 AAAAAAAAAA
题目名称 Color the Axis 最终得分 100
用户昵称 木木ベ 运行时间 1.415 s
代码语言 C++ 内存使用 3.36 MiB
提交时间 2016-11-08 21:09:13
显示代码纯文本
#include<iostream>
#include<cstdio>
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
using namespace std;
int a[800000];
void build(int l,int r,int rt)
{
	if(l==r)
	{
		a[rt]=1;
		return;
	}
	int m=(l+r)>>1;
	build(lson);
	build(rson);
	a[rt]=a[rt<<1]+a[rt<<1|1];
}
void update(int L,int R,int l,int r,int rt)
{
	if(a[rt]==0)
		return;
	if(L<=l&&r<=R)
	{
		a[rt]=0;
		return;
	}
	int m=(l+r)>>1;
	if(m>=L) update(L,R,lson);
	if(m<R)	update(L,R,rson);
	a[rt]=a[rt<<1]+a[rt<<1|1];
}
int main()
{
	int n,m,x,y;
	freopen("axis.in","r",stdin);
	freopen("axis.out","w",stdout);
	scanf("%d%d",&n,&m);
	build(1,n,1);
	while(m--)
	{
		scanf("%d%d",&x,&y);
		update(x,y,1,n,1);
		printf("%d\n",a[1]);
	}
}