题目链接
题意
长度为L的马路上有一排树,间隔都是1米。有M个区间,这些区间之间的树要被砍掉,求最后马路上还有多少棵树。
思路
- 本题数据较小可以使用暴力,也可以使用差分对端点进行维护
参考代码
#include<bits/stdc++.h>
using namespace std;
int aa[10010];
int main()
{
int l,m;
cin>>l>>m;
for(int i=0;i<m;i++)
{
int l1,r1;
cin>>l1>>r1;
aa[l1]+=1;
aa[r1+1]-=1;
}
int sum=0;
for(int i=1;i<=l;i++)
{
aa[i]+=aa[i-1];
}
for(int i=0;i<=l;i++)
{
if(aa[i]>0)
{
sum++;
}
}
cout<<l+1-sum<<endl;
}