• 差分总结


    最近在蓝书上看了差分,发现自己并没有真正的理解,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))复原数列再查询,如果区间加的过程中没有输出,差分是一个解题的好方法

    这道题是一个差分好题

    题解

    这道题还是很考对差分的理解的

  • 相关阅读:
    MFC
    AC自动机
    KMP
    Power Transmission (Hard Edition)
    Floyd
    地杰斯特算法
    二叉树
    51nod 1002 数塔取数问题【dp】
    51nod1049 最大子段和【动态规划】
    poj2385
  • 原文地址:https://www.cnblogs.com/dzice/p/12001945.html
Copyright © 2020-2023  润新知