//校门外的树 //思路:差分 #include <bits/stdc++.h> int d[10005]={1,0};//差分数组,初始化,有树看作1,无树看作0,第一位前面看作0 !!,所以差分数组第一元素为1,其余0 using namespace std; int main() { int i,j,cnt=0;//计数器统计还有多少树 int L,M; cin>>L>>M;//输入马路长度和区间数量 for(i=0;i<M;i++) { int x,y; cin>>x>>y; d[x]--;d[y+1]++;//区间中间的差值不变,左端--,右端的下一位++ } for(i=1;i<=L;i++)//求前缀和,若差值d[i]>0则计数++ { d[i]+=d[i-1]; if(d[i]>0) cnt++; } if(d[0]>0) cnt++;//d[0]特判一下 cout<<cnt<<endl;//输出 }