请求加强数据
查看原帖
请求加强数据
298051
xkcdjerry楼主2021/12/17 12:41

RT,如下的代码(根本没有卡常)开 O2 直接日过去不合理吧(

#include <cstdio>
#include <cmath>
#define N 100010
#define T 40
int n;
int a[N];
int f[T];
int main()
{
     int l,t,o;
     scanf("%d%d%d",&l,&t,&o);
     for(int i=1;i<=l;i++) a[i]=1;
     while(o--)
     {
        char c;
        int x,y,z;
        scanf(" %c%d%d",&c,&x,&y);
        if(x>y){int t=x;x=y;y=t;}
        if(c=='P')
        {
            int ans=0;
            for(int i=0;i<=30;i++) f[i]=0;
            for(int i=x;i<=y;i++) if(!f[a[i]]++) ans++;
            printf("%d\n",ans);
        }
        else
        {
            scanf("%d",&z);
            for(int i=x;i<=y;i++) a[i]=z;
        }
    } 
}

增强数据想法:

100000 30 100000
C 1 100000 1
P 1 100000
C 1 100000 2
P 1 100000
....(省略99996行)....

估计能卡到 O(nm)O(nm)

2021/12/17 12:41
加载中...