题解 | #【模板】差分#

【模板】差分

https://www.nowcoder.com/practice/4bbc401a5df140309edd6f14debdba42

对于修改区间,如果进行遍历修改的话时间会非常大。我个人愚以为差分的思想是只看区间左右的变化,我们只要关注到进入区间前的变化和离开区间后的变化即可。

for(int i=1;i<=m;++i){

        cin>>l>>r>>k;

        cf[l]+=k;

        cf[r+1]-=k//标记左右端点,进区间的变化要在离开区间时消除

    }

    for(int i=1;i<=n;++i){

        cf[i]+=cf[i-1];//将改变量在区间传递,放到输出时一并修改也行

}

全部评论

相关推荐

01-11 08:47
门头沟学院 Java
羊村你懒哥1:如果不放毕业,我只能说导师是自己选的,错在你选了个垃圾导师,不在你实习
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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