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
    
  • 相关阅读:
    关于SpringBoot的外部化配置使用记录
    深入理解Mybatis插件
    MySQL JDBC Driver 8.0+设置服务器时区
    重新认识Java注解
    深入理解Java枚举
    Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇
    Spring Cloud系列教程第九篇-Eureka自我保护机制
    安装vsftp服务器的时候遇到的问题
    spring cloud系列教程第八篇-修改服务名称及获取注册中心注册者的信息
    idea 启动命令行的时候提示不能创建PTY
  • 原文地址:https://www.cnblogs.com/xiaofengzai/p/12236205.html
Copyright © 2011-2022 走看看