洛谷P3368 【模板】树状数组 2(Python和C++代码)
##就是常规写法 用树状数组维护一个差分数组的前缀和,因为可推得若b[i]=a[i]-a[i-1],则a[i]=b[1]+…+b[i] (b[1]=a[1]-a[0],a[0]=0) 。 可发现a[i]只与b[j] (j<=i)有关,若将b[j]加上delta,其后所有值都将加dlt,因此只需改变b[i]就可实现b[i]到b[n]的区间修改。而将b[j+1]减去dlt,对a[j]无影响,其后所有值也减去dlt,恢复原值,即实现了区间修改操作。 因为求取a值用到的是前缀和,因此设t[i]为b[1]到b[i]的前缀和,a[i]=t[i]=b[1]+…b[i],即可大大降低时间复杂度。
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
洛谷P3368 【模板】树状数组 2(Python和C++代码)相关推荐
- ●洛谷P3688 [ZJOI2017]树状数组
题链: https://www.luogu.org/problemnew/show/P3688 题解: 二维线段树. 先不看询问时l=1的特殊情况. 对于一个询问(l,r),如果要让错误的程序得到正确 ...
- [算法模板]树状数组
[算法模板]树状数组 思路 图片转自:yhf_2015--彻底理解树状数组 使用这个图片就能很快的理解树状数组. 我们可以先根据图片来分解一个十进制数成二次幂. example: \(15=2^0+1 ...
- 【luogu3368】模板 树状数组 2
题面 已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数数加上x 2.求出某一个数的和 题解1 单点查询+区间修改. -.-说了树状数组模板那就用树状数组. 树状数组维护差分数列即可(差分前 ...
- 【luogu3374】模板 树状数组 1
题面 已知一个数列,你需要进行下面两种操作: 1.将某一个数加上x 2.求出某区间每一个数的和 题解1 单点修改+区间查询. 关于树状数组的理解,补上一点.位运算的操作其实对应的就是任意一个整数在二进 ...
- 洛谷.3919.[模板]可持久化数组(可持久化线段树/平衡树)
题目链接 //利用先前的根节点建树 想一下不难写. #include <cstdio> #include <cctype> //#define gc() getchar() # ...
- 模板——树状数组求逆序对
题目链接:https://www.luogu.org/problemnew/show/P1908 1 #include <map> 2 #include <set> 3 #in ...
- 模板三连击:树状数组+线段树+主席树
没事儿干,复习模板...... 1.树状数组 本来不想写这个的,但是反正就几分钟就打完了,所以就写了,水AC数. 洛谷 P3374 [模板]树状数组 1 1 #include<cstdio> ...
- 树状数组求区间和模板 区间可修改 参考题目:牛客小白月赛 I 区间
从前有个东西叫树状数组,它可以轻易实现一些简单的序列操作,比如单点修改,区间求和;区间修改,单点求值等. 但是我们经常需要更高级的操作,比如区间修改区间查询.这时候树状数组就不起作用了,只能选择写一个 ...
- b+树时间复杂度_前端大神用的学习笔记:线段树和树状数组
全文篇幅较长,细心理解一定会有收获的♪(^∇^*). 1|0线段树 1|1一些概念 线段树是一种二叉搜索树,每一个结点都是一个区间(也可以叫作线段,可以有单点的叶子结点),有一张比较形象的图如 ...
- 0x42.数据结构进阶 - 树状数组
目录 一.树状数组与逆序对 A.luogu P1908 逆序对(模板题) B.AcWing 241. 楼兰图腾 树状数组的拓展应用 1.区间加,求单点值 A.AcWing 242. 一个简单的整数问题 ...
最新文章
- 老板扣了我1000,因为我没记住阿里巴巴开发手册的这条规则。
- python自动化测试判断方法_python接口自动化测试之根据excel中的期望结果是否存在于请求返回的响应值中来判断用例是否执行成功...
- Windows Embedded Compact 2013升级:VS2013也能编译
- VC++2010中的GetWindowText与GetWindowTextW的区别
- centOS7 安装mysql 设置远程访问
- node.js Websocket消息推送---GoEasy
- php什么是变量6,PHP变量是什么
- code第一部分:数组
- JQuery下锚点的平滑跳转
- CKEditor 富文本编辑器转PDF
- mac 下 word 2011 使用笔记
- Docker容器中bash: ip: command not found
- pyqt5设置dialog的标题_PyQt5教程——对话框(6)
- 通达信服务器在哪个文件里,通达信“指标模块”存放在哪个文件夹里
- Android Studio完成音乐盒demo
- 沪江快速手机打字软件下载
- 14个创意lut电影大片级别调色预设
- Git 命令行其实真的很好用
- 易语言编译和c语言,易语言独立编译的EXE文件问题
- GIS大数据可视化分析工具