码迷,mamicode.com
首页 > 其他好文 > 详细

差分总结

时间:2019-12-07 15:59:15      阅读:64      评论:0      收藏:0      [点我收藏+]

标签:inline   查询   mat   problem   int   com   i++   线段树   有趣的   

最近在蓝书上看了差分,发现自己并没有真正的理解,CSP前的考试有一道裸的差分题我都是用线段树写的,现在做了几道题,感觉对查分的理解更深了

给定一个数列\(a[i]\),查分数列\(b[i]=a[i]-a[i-1]\)

    for(int i=1; i<=n; i++)
    {
        scanf("%d",&a[i]);
        if(i!=1)
            b[i]=a[i]-a[i-1];
    }

如果数列\(a[i]\)是 1 5 2 7 9 3

那么数列\(b[i]\)就是 0 4 -3 5 2 -6

差分数列有一些有趣的性质,可以实现\(O(1)\)的区间加,不过查询需要先\(O(n)\)复原数列再查询,如果区间加的过程中没有输出,差分是一个解题的好方法

这道题是一个差分好题

差分总结

标签:inline   查询   mat   problem   int   com   i++   线段树   有趣的   

原文地址:https://www.cnblogs.com/dzice/p/12001945.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!