模板一:单点修改,区间求和

模板题:hdu1166 敌兵布阵

const int maxn=100010;

int a[maxn],tree[4*maxn];

void pushup(int o){

tree[o]=tree[o<<1]+tree[o<<1|1];

}

void build(int o,int l,int r){

if(l==r){

tree[o]=a[l];

return;

}

int mid=(l+r)>>1;

build(o<<1,l,mid);

build(o<<1|1,mid+1,r);

pushup(o);

}

void change(int o,int l,int r,int x,int k){

if(l==r){

tree[o]+=k;

return;

}

int mid=(l+r)>>1;

if(x<=mid) change(o<<1,l,mid,x,k);

else change(o<<1|1,mid+1,r,x,k);

pushup(o);

}

int query(int o,int l,int r,int ql,int qr){

if(ql<=l && r<=qr) return tree[o];

int mid=(l+r)>>1,ans=0;

if(ql<=mid) ans+=query(o<<1,l,mid,ql,qr);

if(qr>mid) ans+=query(o<<1|1,mid+1,r,ql,qr);

return ans;

}

模板二:单点修改,区间最值

模板题:hdu1754 I Hate It

const int maxn=100010;

int a[maxn],tree[4*maxn];

void pushup(int o){

tree[o]=max(tree[o<<1],tree[o<<1|1]);

}

void build(int o,int l,int r){

if(l==r){

tree[o]=a[l];

return;

}

int mid=(l+r)>>1;

build(o<<1,l,mid);

build(o<<1|1,mid+1,r);

pushup(o);

}

void change(int o,int l,int r,int x,int k){

if(l==r){

tree[o]=k;

return;

}

int mid=(l+r)>>1;

if(x<=mid) change(o<<1,l,mid,x,k);

else change(o<<1|1,mid+1,r,x,k);

pushup(o);

}

int query(int o,int l,int r,int ql,int qr){

if(ql<=l && r<=qr) return tree[o];

int mid=(l+r)>>1,ans=-1;

if(ql<=mid) ans=max(ans,query(o<<1,l,mid,ql,qr));

if(qr>mid) ans=max(ans,query(o<<1|1,mid+1,r,ql,qr));

return ans;

}

分块的单点修改查询区间和_模版 单点修改,区间查询相关推荐

  1. 分块的单点修改查询区间和_树状数组的区间修改与单点查询与区间查询

    如何将普通树状数组升级 普通的单点修改单点查询就不讲了,从区间修改和单点查询讲起. 原来的值存在a[]里面,多建立个数组c1[],注意:c1[i]=a[i]-a[i-1]. 那么求a[i]的值的时候a ...

  2. mysql 查询默认编码_查看及修改MYSQL默认编码

    MySQL的默认是Latin1,不支持中文,要支持中文需要把数据库的默认修改为gbk或者utf8. 1.需要以root用户身份登陆才可以查看数据库编码方式 (以root用户身份登陆的命令为:>s ...

  3. 如何修改influxdb表结构_使用nginx-lua修改influxdb API的返回结构

    有一个API平台服务,所有接口都通过API平台转发到实际的服务上,然后再把实际服务的结果返回给客户端,API平台的规范是所有实际服务的接口返回都要统一结构为 { "code": 0 ...

  4. 修改表字段属性_使用postman修改SAP Marketing Cloud contact主数据

    Marketing Cloud里的contact主数据,创建成功后也不是所有字段都能够被修改.在Personal data区域的字段是可以被修改的. 比如我在"客户属性"字段里维护 ...

  5. linu修改open files无效_不越狱修改运动步数,安卓苹果手机通用

    生命在于运动,在当下社交软件流行的今天,衡量运动的指标是什么?当然就是运动所产生的步数了,微信运动排行需要.支付宝蚂蚁森林需要.QQ运动也需要,可是学习任务繁重.工作忙碌的我们,想在app上产生点运动 ...

  6. linu修改open files无效_雷电模拟器修改教程

    如何DIY雷电模拟器呢?很多人都想DIY雷电模拟器,主要目的是想去除广告啥的.那么这期我们就来说说怎么修改 准备工具有 DG国际版(关注公众号输入010即可获取 首先我们知道system镜像在安装目录 ...

  7. lisp修改天正标高值_表达式计算修改版本,增加计算函数选择按钮[2019年1月23日更新]...

    本帖最后由 wayne_myles 于 2019-1-22 11:30 编辑 这个计算器不错 我输入9999*9999直接提示表达式不正确 6666 http://bbs.mjtd.com/threa ...

  8. adroid xpose 修改java方法实例_基于xposed 修改硬件信息(xposed框架使用)

    [实例简介]android Hook框架Xposed [实例截图] [核心代码] package com.lixin.hardwarecode; import android.app.Activity ...

  9. 线段树区间、单点修改查询模板,以及自己对线段树的理解

    #include #include #include #include #define MAXN 300005 using namespace std; typedef long long ll; / ...

最新文章

  1. 高并发编程-自定义带有超时功能的锁
  2. myeclipse同时部署两个项目-permgen space
  3. Android软件开发需要学什么
  4. vue.js2.0 新手开发_VueJs2.0建议学习路线
  5. 数据结构(java语言描述)顺序栈的使用
  6. 爆笑!物理书上的照片能不能好好选选啊喂!
  7. 数据结构基础概念、逻辑结构、物理结构
  8. 在wp7中读取XML的配置文件,Content与Resource的区别
  9. Springboot应用中线程池配置教程(2021版)
  10. python asyncio_python asyncio(一)
  11. JAVA设计模式-委派模式(Delegate)
  12. PHP基础题带详细答案,PHP基础语法试题(一)答案版.docx
  13. Python让繁琐工作自动化——chapter10 日志模块
  14. TOGAF9中文版(二)
  15. ios wifi 定位_Wifi 定位原理及 iOS Wifi 列表获取(示例代码)
  16. 【HAVENT原创】VUE2 经验问题汇总
  17. 关于对接企业微信第三方服务商所踩的坑
  18. 在php中使用高德api,javascript - 高德地图定位如何调用api?
  19. 试图通俗地讲一下庞加莱猜想是怎么回事
  20. 《计算机科学导论》第四章 数据运算

热门文章

  1. java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present解决方案
  2. JVM系列之:String.intern的性能
  3. 安卓学习 之 UI控件(三)
  4. Google Chubby 论文翻译
  5. SYN攻击原理 accpet()函数调用时机
  6. 04.full_text match查询
  7. 小白也能学会的 Git 常用指令指南
  8. C语言:L1-031 到底是不是太胖了 (10分)(解题报告)
  9. 【传智播客】JavaWeb程序设计任务教程 第四章练习答案
  10. 为什么要避免不可重复读_脏读、幻读和不可重复读?为啥?