请求加强数据
查看原帖
请求加强数据
444651
ASSASSIN2099楼主2021/10/22 06:42

数据太水了,暴力 + 卡常就能切。

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<queue>
#include<vector>
#define M 111111
using namespace std;
int l,t,o,x[M]={};bool y[M];
int re()
{
	int x=0,z=1;
	char y=getchar();
	while(y>'9'||y<'0')
	{    if(y=='-')z=-1;
	y=getchar();
	}
	while(y>='0'&&y<='9')x=x*10+y-'0',y=getchar();
	return x*z;
}
int main()
{
	l=re();t=re();o=re();
	for(int j=0;j<=l;j++)
	{
		x[j]=1;
	}
	for(register int i=1;i<=o;i++)
	{
		int a,b,c;char n;int ans=0;
		cin>>n;
		a=re();b=re();
		if(a>b)swap(a,b);
		memset(y,0,sizeof(y));
		if(n=='C')
		{
			c=re();
			for(register int j=a;j<=b;j++)
			{
				x[j]=c;
				//y[c]++;
			}
		}
		if(n=='P')
		{
			if(a==b)
			{
				cout<<1<<endl;
				continue;
			}
			int l=0;
			for(register int j=a;j<=b;j++)
			{
				if(!y[x[j]])
				{
					y[x[j]]=1;
					ans++;
				}
			}
			cout<<ans<<endl;
		}
	}
	
	return 0;

}

最后一个点只用了 700ms 。

AC 记录

2021/10/22 06:42
加载中...