zoukankan      html  css  js  c++  java
  • 数列分块概要

    分块简介

    分块是对数列进行操作的一种(在线毒瘤暴力卡常)数据结构,把数列分块维护。主要处理区间问题

    数列操作(L,R):

    找最值,求和,求大于、小于K元素个数等

    分块操作

    一个对于[l,r]的操作,对于区间内完整的块,我们直接维护整个块的信息;对于两侧不完整的块,直接暴力。

            1.判断要操作或是查询的区间是否在一个块内
            2.若在一个块内,暴力操作或查询
            3.若不在一个块内,将除了最左边和最右边这两个块外其余的块进行整体的操作,即直接对块打上修改标记之类的
            4.单独暴力处理最左边的块和最右边的块
    

    ————引用自YuWenjue的博客

    分块大小

    数列长度为n时,一般为sqrt(n)

    时间复杂度分析

    初始化O(n),单次操作O(sqrt(n))

    例题

    黄学长的博客
    将持续更新做题记录

  • 相关阅读:
    ES6相关概念及新增语法
    正则表达式
    递归
    高阶函数和闭包
    严格模式
    this指向
    递归
    严格模式
    函数内部的this指向
    函数的定义和调用
  • 原文地址:https://www.cnblogs.com/heqizheng/p/fenkuai.html
Copyright © 2011-2022 走看看