随笔分类 - 数据结构 - 树状数组与线段树
摘要:二维树状数组涉及到两种基本操作,修改矩阵中的一个点,查询子矩阵的和。 首先是修改点: 然后是查询前缀和: 那么由容斥原理: 区间修改就麻烦一点: 方法1: 方法2:
        阅读全文
                
                    posted @ 2019-03-04 20:57  
韵意
    
                
            
摘要:这里是以区间最大值为例,要修改成其他的运算,注意修改每个函数的运算以及query中返回的无关值。 这里的区间最大值设置的最小元素为-1(在query中表示与当前区间不相交的区间的结果)。 注意因为调用的方式传入l与r是(1,n),所以这个线段树(包括a)其实是从1开始计数的。 最后,小心爆MAXM。
        阅读全文
                
                    posted @ 2019-01-25 11:59  
韵意
    
                
            
摘要:https://www.luogu.org/problemnew/show/P1198 要问区间最大值,肯定是要用线段树的,不能用树状数组。(因为没有逆元?但是题目求的是最后一段,可以改成类似前缀和啊。不行!插入新元素之后更新的复杂度太高了!) 所以我们就弄一个初始元素是负数的最大值线段树,每次插入
        阅读全文
                
                    posted @ 2019-01-25 11:53  
韵意
    
                
            

 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号