校门外的树

校门外的树

https://ac.nowcoder.com/acm/problem/16649

//校门外的树 
//思路:差分 
#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;//输出 
} 
全部评论

相关推荐

02-28 01:18
已编辑
南昌大学 后端工程师
黑皮白袜臭脚体育生:把开源经历放个人项目上边应该更好,就像大部分人都把实习经历放个人项目上边
点赞 评论 收藏
分享
Gardenia06...:刚开始学是这样的,可以看看左神和灵神都讲的不错
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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