zoukankan      html  css  js  c++  java
  • Book 树状数组 小结

    差不多花了10天学树状数组,是照着这篇博客做的题目,还差几道----------

    http://blog.csdn.net/chenguolinblog/article/details/9916229

    1.几个注意的地方

    1)lowbit(0) + 0 会无限循环,会导致tle掉,给输入进去的x++一下就好

    2)当给的x的范围很大的时候,注意要离散化

    2.然后就是两个基本的操作

    1) add()

    2) sum()

    3.复杂度是log (n)

    4.现在做到的题目有这些

    1)  单点更新,区间求和,(区间求和有一维的,有二维的)

    2)  区间更新,单点查询 ,(详见那篇论文,可以推广到n维的情况)

    http://wenku.baidu.com/view/1e51750abb68a98271fefaa8

    3)  求一个数前面有多少个数比它小,这种可以用来求逆序对,或者加一些限制的条件来求一些东西

      5. 还有一个是初始化

    如果最开始的每个点1的值是1的话,c数组可以初始化为c[i][j] = lowbit(i) * lowbit(j)

    或者两重循环add(i,j,1)

    大概就是这么多,之后再做到题目再总结~~~~    

  • 相关阅读:
    python-day8(正式学习)
    Bug快到碗里来
    python-day7(正式学习)
    python-day6(正式学习)
    python-day5(正式学习)
    python-day4(正式学习)
    Django中间件
    cookie和session
    分页器,form组件的使用
    orm常用字段和数据库优化查询
  • 原文地址:https://www.cnblogs.com/wuyuewoniu/p/4616813.html
Copyright © 2011-2022 走看看