zoukankan      html  css  js  c++  java
  • 树状数组与线段树(一)

    树状数组:

    一共需要三个函数:

    ①lowbit(int x)

    ②add(int x,int p)

    ③query(int x)

    1.动态求连续区间和

    给定 n 个数组成的一个数列,规定有两种操作,一是修改某个元素,二是求子数列 [a,b]的连续和。

    输入格式

    第一行包含两个整数 n 和 m,分别表示数的个数和操作次数。

    第二行包含 n 个整数,表示完整数列。

    接下来 m 行,每行包含三个整数 k,a,b (k=0,表示求子数列[a,b]的和;k=1,表示第 a 个数加 b)。

    数列从 1 开始计数。

    输出格式

    输出若干行数字,表示 k=0时,对应的子数列 [a,b]的连续和。

    数据范围

    1n100000
    1m100000
    1abn

    输入样例:

    10 5
    1 2 3 4 5 6 7 8 9 10
    1 1 5
    0 1 3
    0 4 8
    1 7 5
    0 4 8
    

    输出样例:

    11
    30
    35
    
  • 相关阅读:
    [codevs]线段树练习5
    【Java学习笔记之十六】浅谈Java中的继承与多态
    【Java学习笔记之十五】Java中的static关键字解析
    【Java学习笔记之十四】Java中this用法小节
    【Java学习笔记之十三】初探Java面向对象的过程及代码实现
    【Java学习笔记之十二】Java8增强的工具类:Arrays的用法整理总结
    hdu2896 AC自动机
    hdu2222 AC自动机
    字符串匹配--AC自动机模板
    字符串匹配--(K)MP模板
  • 原文地址:https://www.cnblogs.com/xiaofengzai/p/12236205.html
Copyright © 2011-2022 走看看