一、考点

考点:模拟-我的代码还可以再优化

二、思路和代码

其实第一眼觉得和CCF的有个题目差不多

那时候用的线段树写的

现在不想写,直接用的Brute暴力也AC了,,,
行吧,下次改线段树

此外,观察线段,先排序左边端点,再合并,也似乎可以

#include<cstdio>
#include<cstring>

int test[10000+1]={0};

int main()
{
    int L,M;

    while(~scanf("%d%d",&L,&M))
    {
        memset(test,0,sizeof(test));
        for(int i=0;i<M;++i)
        {
            int a,b;
            scanf("%d%d",&a,&b);
            while(a<=b)
            {
                test[a]=1;//标记要挖 
                ++a;
            }
        }

        int sum=0;
        for(int i=0;i<=L;++i)
        {
            if(0==test[i])
            {
                ++sum;
            }
        }

        printf("%d\n",sum);
    }


    return 0;
}