首页 > 其他分享 >数据结构专题

数据结构专题

时间:2022-09-23 21:35:02浏览次数:77  
标签:专题 树状 线段 数值 查询 差分 数组 数据结构

线段树

一维线段树

Xenny

树状数组

一维树状数组

嗯嗯还是Xenny

胡小兔

区修单差·差分

说一下差分。这个东西一直没搞明白,后来也没再想。

对于树状数组维护区间更改、单点查询而言,差分是很好的一个方法。

设当前要使区间 \([l, r]\) 的数值加上 \(x\),那么就使\(l\)位置的数值+=x,在 \(r+1\) 位置的数值-=x。查询的时候只需要查询当前点的前缀和。

考虑为什么这样更新

如果使区间 \([l, r]\) 的数值加上 \(x\),那么 \(l\) 与 \(l-1\) 的差值就会增加了 \(x\),而 \(r+1\) 与 \(r\) 的差值就会减少 \(x\)。故。

用代码写出来就是这样:

Code
inline void Update(int k, int w){
	while (k <= n)
		C[w] += k, k += lowbit(k);
}
inline void Range_Update(int l, int r, int w){
	Update(l, w), Update(r+1, -w);
}
inline int Query(int k){
	int res(0);
	while (k != 0)
		res += C[k], k -= lowbit(k);
	return res;
}
区修区查

区修区查你闲的没事用树状数组干嘛。自己去写个线段树不就行了。(doge

二维树状数组

标签:专题,树状,线段,数值,查询,差分,数组,数据结构
From: https://www.cnblogs.com/charphi/p/16724427.html

相关文章

  • 21st 2022/7/18 动态规划大专题
    这个专题着实需要动脑,推转移方程,方程的复杂度,还有优化之处普通DP根据题目进行推测设立状态,然后转移,如:最长不下降子序列当然,某些题也不会直接是DP板子,而是有些思路这......
  • 【搜索】Flood Fill专题
    643.动态网格687.扫雷1097.池塘计数本题不是上下左右,而是周围八个格,除去中心#include<iostream>#include<algorithm>#include<cstring>usingnamespacestd;......
  • 12th 2022/7/11 RMQ专题复习
    分为三类吧线段树这种数据结构挺有用的,使用范围是时间,看着办嘛,\(O(n\logn)\)的算法,修改加入查询都是\(O(\logn)\)然后建树\(O(n\logn)\)看着办大概思路就是将一个......
  • 简化数据结构的初始化过程
    避免在每新建类时,都要重复实现构造器,因此可以定义一个公共基类,在基类中实现实例属性的初始化规则,此后在派生类中,只需要指定属性字段即可1classInit:2_fields=......
  • kuangbin专题12 基础DP
     LongestOrderedSubsequence题意:有n个数,在保证原有顺序不变的前提下取出尽可能多的数,使得形成的新序列严格递增。输出取出的数个数。     题解:有两......
  • 王道-考研-数据结构-线索二叉树
    线索二叉树的构造常用的是中序线索二叉树。寻找前驱结点:若左指针为线索,则其指向结点为前驱结点。若左指针为左孩子,则其左子树的最右侧结点为前驱结点。寻找后继结点......
  • 数据结构:线性表
    线性表线性表(List):零个或多个数据元素的有限序列。首先它是一个序列。也就是说,元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他每个元素都......
  • .NET连接SAP系统专题
    .NET连接SAP系统专题:SAP中新建可远程调用的RFC(二)发布于2022-05-1013:58:05阅读 1700   何谓RFC,就是一个Function,可以被非SAP系统调用,比如VB,C#,Java等。如......
  • .NET连接SAP系统专题:.NET调用RFC几种方式(一)
    来今天是要写一篇关于NCO3.0的东西,就是关乎.NET调用SAP的RFC的,支持VS2010和.NET4.0等。现在网上到处都是充斥着NCO1.X和NCO2.0,需要用VS2003来使用,都是一些没什么大用的东......
  • 算法 玩转数据结构 2-2 二次封装属于我们自己的数组
    1重点关注1.1索引使用数组最大的优点:快速查询。scores[2]·数组最好应用于“索引有语意”的情况。·但并非所有有语意的索引都适用于数组(例如,以身份......