随笔分类 - 线段树&&树状数组
            
    HDU  4578  线段树复杂题
    
            
            
        
摘要:题目大意:题意:有一个序列,有四种操作:1:区间[l,r]内的数全部加c。2:区间[l,r]内的数全部乘c。3:区间[l,r]内的数全部初始为c。4:询问区间[l,r]内所有数的P次方之和。这里p可以等于1,2,3三种情况,所以我们需要建立3个数组,当然这里其实只用一个sum[4*N][3]的2维数...
        阅读全文
            
        
            
    对于在线段树上修改整段区间的理解
    
            
            
        
摘要:第一题HDU1698http://acm.hdu.edu.cn/showproblem.php?pid=1698这是在区间上进行整段的修改操作,我们就用to[]数组代表修改的lazy标记记住在构建树和在change函数中自顶向下更新的时候,一定要注意重新回去更新上层的节点,所以末尾需加上update...
        阅读全文
            
        
            
    POJ 2352 star level
    
            
            
        
摘要:题目链接:http://poj.org/problem?id=2352题目大意:对于每一颗星星来说,都有一个属于自己的level,这个值为其他星星x,y坐标均不大于本星星的个数。输入时按先y由小到大,再x由小到大排列,无相同位置的星星仔细一想其实这道题目根本不需要用到y,我是反向来思考的,构建一个保...
        阅读全文
            
        
            
    HDU 3264 区间内的最大最小之差
    
            
            
        
摘要:题目链接:http://poj.org/problem?id=3264题目大意:在给定一堆牛的数量以及其高度的时候,每次给定一段区间,求这个区间内最高的牛和最矮的牛的高度之差为多少。可以直接利用RMQ求出区间最大最小相减即可,一道模板题- -。 1 #include 2 #include 3 #...
        阅读全文
            
        
            
    HDU 4006
    
            
            
        
摘要:题目大意:给定一系列的数,并能够不断往里添加数使这个序列得到更新,问第k大的数是几这里可以用两种方法来做:1.运用优先队列将其由小到大保存,令队列里的数据始终只有k个,那么队首元素就是最小值2.运用堆排列,同样也只是在堆中存放k个元素,将最小值的位置放在堆顶,当超过k个的元素加入时,如果加入的数大于...
        阅读全文
            
        
            
    简单线段树中的一系列题目
    
            
    
摘要:1.HDU 1166 http://acm.hdu.edu.cn/showproblem.php?pid=1166题目大意:了解地方的兵营人数,每次询问告知区间内的总人数,其中会有兵营人数变更的更新操作这里要用到求和的query:int query(int x,int y){ int i=D+x-1...
        阅读全文
            
        
 
                    
                     
                    
                 
                    
                 
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号