校门外的树(前缀和与差分解法)

校门外的树

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;
}
全部评论

相关推荐

10-10 11:38
已编辑
湖南理工大学 Java
小浪_Coding:多沟通叭, 公式简历+学历一般的话难找
点赞 评论 收藏
分享
评论
10
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务