一、考点
考点:模拟-我的代码还可以再优化
二、思路和代码
其实第一眼觉得和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; }