思路:
这种题我每次都想复杂了
害
其实只要定义一个数组来标记这棵树需不需要被移走即可
判断是否在给定区间
最后遍历0~L
int n,m;
int ans;
int vis[maxn];
struct node
{
int l,r;
}a[maxn];
int main()
{
cin >> n >> m;
memset(vis,0,sizeof(vis));
for(int i=0;i<m;i++) cin >> a[i].l >> a[i].r;
for(int i=0;i<m;i++)
{
for(int j=a[i].l;j<=a[i].r;j++)
vis[j] = 1;
}
for(int i=0;i<=n;i++)
{
if(vis[i] == 1)
ans++;
}
cout << n+1-ans << endl;
return 0;
}