校门外的树(前缀和与差分解法)
校门外的树
http://www.nowcoder.com/questionTerminal/0e8cfc82936048769af45967f3c4ef7e
前缀和与差分解法(适合数据量大时候使用)
#include<iostream> using namespace std; const int N = 10010; int l,m,x,y,sum; int q[N],s[N]; int main() { cin>>l>>m; while(m--) { cin>>x>>y; //差分 q[x] -= 1; q[y+1] +=1; } //前缀和 s[0] = q[0]; for(int i =1;i<=l;i++) s[i] = s[i-1] + q[i] ; for(int i= 0;i<=l; i++) if(s[i] == 0) sum++; cout<<sum; return 0; }