E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
树状数组&线段树&字典树...
线段树
简单笔记
一经典
线段树
结构:权值为[L,R]的区间和intL,R,sum;操作1单点修改O(logn)递归找到相应叶子节点,回溯时修改父节点(两个儿子总和)操作2区间查询O(logn)左右两边递归,递归边界为左右两边都被包含
明月千里赴迢遥
·
2024-02-10 02:12
数据结构
ACM
蓝桥杯
数据结构总结
我YY了一个优化的方法:如果题目只涉及路径的修改,可以针对每个重链单独建一棵
线段树
(这样必须用指针表示儿子),然后可以发现除了u,v,lca(u,v)三个点需要深入
线段树
中,其他的重链在
线段树
的根节点读了值就直接返回了
broxin
·
2024-02-10 02:12
学习日志
2024.2.6 寒假训练记录(20)
牛客寒假集训2HTokitsukazeandPowerBattle(hard)牛客寒假集训2GTokitsukazeandPowerBattle(easy)题目链接好感动,调了好久的一题终于调出来了大体是
线段树
Texcavator
·
2024-02-09 22:30
2024寒假训练记录
算法
寒假思维训练day18 D. Boris and His Amazing Haircut
寒假思维训练day18摘要Part1题意,链接(有需自取,Problem-1779D-Codeforces)Part2题解Part3代码(C++代码)Part4每日回顾一个基础算法|数据结构计划(今日:
树状数组
嘗_
·
2024-02-09 18:12
算法
c++
c语言
树状数组
基础用法模板
1、
树状数组
的单点查询和单点修改模板:inttr[N];intlowbit(intx){return(x&-x);}//在x位置上面增加cvoidadd(intx,intc){for(inti=x;i<
嘗_
·
2024-02-09 18:12
算法
c++
【数据结构】前缀树的模拟实现
前缀树又名
字典树
,单词查找树,Trie树,是一种多路树形结构,是哈希树的变种,和hash效率有一拼,是一种用于快速检索的多叉树结构,。典型应用是用于统计
爱学的小涛
·
2024-02-09 16:12
数据结构
java
算法
倍增法+LCA(C/C++)
2基本模板//预处理复杂度同为O(nlogn),查询时间上,ST表为O(1),
线段树
为O(logn)#includeusingnamespacestd;constintN=5e4+10;inta[N];
菜只因C
·
2024-02-09 12:52
算法
蓝桥杯
数据结构
C/C++
倍增法
C++算法之
树状数组
与
线段树
AcWing1264.动态求连续区间和详细题解AcWing,题解,动态求连续区间和,https://www.acwing.com/solution/content/7526/一、
树状数组
1.AcWing1264
算法下的星辰曲
·
2024-02-09 09:02
蓝桥杯
c++
开发语言
前缀树(Trie):理解基本性质与应用
前缀树,也称为
字典树
,是一种常见的数据结构,用于高效存储和检索字符串集合。基本性质:根结点不包含字符,除根结点外每一个结点都只包含一个字符。
软件架构师笔记
·
2024-02-09 08:17
开发语言
go
前缀树
数据结构
lowbit运算、
树状数组
详解
lowbit运算lowbit(x)=x&(-x)lowbit(x)可以理解为能整除x的最大2的幂次
树状数组
存放的是i号位之前(含i号位,下同)lowbit(i)个整数之和C[i]的覆盖长度是lowbit
不要秃头、
·
2024-02-09 01:34
数据结构与算法笔记
lowbit
树状数组
2 月 7 日算法练习- 数据结构-
树状数组
树状数组
lowbit在学习
树状数组
之前,我们需要了解lowbit操作,这是一种位运算操作,用于计算出数字的二进制表达中的最低位的1以及后面所有的0。
小蒋的学习笔记
·
2024-02-09 00:39
算法
算法
数据结构
java
洛谷 P3372 【模板】
线段树
1
题目描述如题,已知一个数列,你需要进行下面两种操作:将某区间每一个数加上k。求出某区间每一个数的和。输入格式第一行包含两个整数n,m,分别表示该数列数字的个数和操作的总个数。第二行包含n个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来m行每行包含3或4个整数,表示一个操作,具体如下:1xyk:将区间[x,y]内每个数加上k。2xy:输出区间[x,y]内每个数的和。输出格式输出包含若
zzc大魔王
·
2024-02-08 14:25
洛谷
算法
数据结构
c++
P3870 [TJOI2009] 开关
网址如下:P3870[TJOI2009]开关-洛谷|计算机科学教育新生态(luogu.com.cn)看C艹书看不下去,就到洛谷上随机抽一道题做一道
线段树
的问题实际上,关于
线段树
的知识是我现学的(我树的知识都不知道
Fool256353
·
2024-02-08 14:55
算法
洛谷P3372
线段树
模板
线段树
讲的很详细的博客:链接
线段树
讲的很详细的视频:链接#includeusingnamespacestd;typedeflonglongll;constintmaxn=100005;lldat[maxn
Konjacer
·
2024-02-08 14:55
SDNUOJ
c++
线段树模板
P3372 【模板】
线段树
1
网址如下:P3372【模板】
线段树
1-洛谷|计算机科学教育新生态(luogu.com.cn)题如其名昨天做了一道开关(也是
线段树
的)想着今天复习一下代码如下:#includeusingnamespacestd
Fool256353
·
2024-02-08 14:54
算法
c++
图论
【数据结构练习】平均数【二分答案】【
树状数组
】
题目描述思路:我们直接二分一个平均数,然后让a全部减去它,问题就变成了前缀和中的逆序对问题codecodecode#include#include#include#include#definelllonglong#definelowbit(x)x&-xusingnamespacestd;constllMAXN=1e5+10;lln,k;doublea[MAXN],b[MAXN],c[MAXN];l
VL——MOESR
·
2024-02-08 10:09
题解
#
树状数组
二分
数据结构
算法
c++
题解
二分答案
算法--
树状数组
与
线段树
树状数组
与
线段树
前言概念前缀和代码模板
线段树
代码模板练习题动态求连续区间和数星星--
树状数组
数列区间最大值--
线段树
算法基础系列前言本节知识点较难,且模板代码较长,可根据自己情况理解这里只浅析
树状数组
更深层次的内容不会涉及概念前缀和因为画出的结构特别像树
Tancy.
·
2024-02-08 10:09
算法
算法
c++
线段树
树状数组
数据结构
2 月 7 日算法练习- 数据结构-
树状数组
上二分
树状数组
的特点就是对点更新,成段求和,而且常数非常小。原始的
树状数组
只有两种操作,在某点插入一个数和求1到i的所有数的和。这道题目一共有三种操作,但是实质上其实只有两种:插入和询问。
小蒋的学习笔记
·
2024-02-08 10:38
算法
算法
数据结构
洛谷P1047 [NOIP2005 普及组] 校门外的树 题解
(手动滑稽)本题解是我在练习分块时突发奇想写的,真就把入门题写成省选题的感觉(才发现原来这些简单题这么有趣(文章目录前言P1047[NOIP2005普及组]校门外的树题解一、模拟解法(正常解法)二、
线段树
解法
q779
·
2024-02-07 19:46
OI
算法
数据结构
字典树
进行大数据次数的统计
提起字典我们首先想到的就是小时候使用的新华字典,字典的好处就是把大量的汉字,组织到了一本书中,安装一定的顺序方便了我们进行快速的查找。1、给出n个单词和m个询问,每次询问一个单词,回答这个单词是否在单词表中出现过,以及出现的次数。如果内存可以存储下,可以直接使用hashmap进行处理,key存储当前的单词,value存储出现的次数。时间复杂度为把单词放入的时间O(n)2.给出n个单词和m个询问,每
Tim在路上
·
2024-02-07 13:25
算法竞赛 常见算法数据结构总结
1.1基本数据结构1.数组2.链表,双向链表3.队列,单调队列,双端队列4.栈,单调栈1.2中级数据结构1.堆2.并查集与带权并查集3.hash表自然溢出双hash1.3高级数据结构1.
树状数组
2.
线段树
AlanCong
·
2024-02-07 13:34
【trie
字典树
】( RAII | Multiset频次统计 | STL )
#include#include#include#include#include#include#includeclasstrie{structNode;usinghasher=std::unordered_map>;structNode{std::optionalfrequency{std::nullopt};hasherchildren;Nodeoperator=(constNode&)=de
XNB's Not a Beginner
·
2024-02-07 08:56
ADT数据结构实现
语言特性
Modern
Cpp
算法
数据结构
c++
stl
hash
链表
[LeetCode 208] 实现 Trie (前缀树)
208.实现Trie(前缀树)
字典树
转自评论中某大佬,加入了一个preorder可以查看一下树的构造是不是对的注意:search和startsWith只差了最后一句return。
来到了没有知识的荒原
·
2024-02-07 01:27
Hello ”树“先生
20200929文章末尾已更新最小生成树、
线段树
等内容前言首先思考这样一个问题:为什么有树?因为树的光合作用可以吸,呸,因为分层次管理(增删改查)数据(在很多场景下)有着更高的
TechGuide
·
2024-02-06 16:41
秋招计算机知识点总结
二叉树
数据结构
算法
java
python
线段树
简单使用 P4588 数学计算 总结
传送门https://www.luogu.com.cn/problem/P4588心路历程一开始确实没想到能切换成
线段树
,毕竟它一无区间二无线段,我第一眼看到题以为是一个大大大模拟,但是这里不能用逆元(
why_not_fly
·
2024-02-06 02:31
算法
扫描线(板子整理) 矩形面积并与矩形周长并
前置知识:离散化,
线段树
基础即可,难度不大,重在思维矩形面积并扫描线,矩形面积并(洛谷)https://www.luogu.com.cn/problem/P5490为了归并区间中的关系(每一段都是连起来的
why_not_fly
·
2024-02-06 02:30
算法
c++
数据结构
树状数组
中差分应用(P3372
线段树
、P4514上帝造题的七分钟)
图片来源于B站董晓老师,思路来源自《算法竞赛》差分主要分为一维差分和二维差分,差分的应用重要在于推导1.一维差分(P3372【模板】
线段树
1)省略推导过程,精髓在于维护两颗
树状数组
(d代表差分,query
why_not_fly
·
2024-02-06 02:00
算法
c++
数据结构
线段树
的历史区间最值和区间抹平操作问题(P6242
线段树
3)
P6242
线段树
3https://www.luogu.com.cn/problem/P6242大致题意:维护一个数组,支持一下五种操作:区间加减区间抹平(使所有大于v的数变成v)即进行min操作区间求和区间最值区间历史最值整道题的重难点在于两个
why_not_fly
·
2024-02-06 02:00
算法
学习笔记3:扫描线
线段树
的应用
前置知识:
线段树
F-Apples(atcoder.jp)分析:根据题意,我们知道需要维护一个大矩阵(一维是空间,一维是时间)中的一个固定大小区域(一维是盆的长度,一维是盆的耐久/时间)的最大值,初见时认为是二维前缀和
rrt517
·
2024-02-06 02:30
学习
笔记
数据结构
算法
「学习笔记」
线段树
目录1.建立+单点更新+查询(1)建树模板(2)单点更新模板(3)查询模板(4)例题2.区间更新(1)区间更新模板(2)例题3.维护可和信息(1)常见的可和信息(2)例题1.建立+单点更新+查询(1)建树模板#definelsp>1;build(lson);build(rson);push_up(p);//向上更新}//调用build(1,n,1);(2)单点更新模板voidupdate(intx
ぺdepths°
·
2024-02-06 02:00
模板
数据结构
数据结构
线段树
学习笔记:
线段树
套
线段树
(二维
线段树
)
看了董晓老师的博客,但是没找到洛谷题,实在不想读英文(不是,写点理解巩固一下这方面的知识;前置知识:具有
线段树
的基础,并有一定理解(能一定程度上的运用),感觉就能较为轻松的看懂Mobilephones-poj1195http
why_not_fly
·
2024-02-06 02:29
学习
笔记
★
线段树
(Segment Tree): 原理、实现和应用
引言
线段树
是一种用于处理区间查询的数据结构,特别适用于需要高效支持区间修改和区间查询的场景。它将一个数组表示的区间划分为一系列小区间,并将每个小区间的信息存储在树中。
平常心-辉
·
2024-02-06 01:13
高级数据结构
算法
数据结构
c++
7.29训练总结
CodeForces-1609E这种使得整个串不包含子串’abc’的题目,发现可以用
线段树
维护#includeusingnamespacestd;constintmaxn=1e5+5;#definelsonnow
andyc_03
·
2024-02-05 21:39
算法
acm
树链剖分
【算法介绍】树链剖分就是将树分割成多条链,然后利用数据结构(
线段树
、
树状数组
等)来维护这些链。
andyc_03
·
2024-02-05 21:38
树链剖分
数据结构 -
线段树
1.预制值:构建的数组为,nums:【2,5,1,4,3】区间和问题,假设求区间[1,3]的和2.建树2.1构建
线段树
数组int[]segT=newint[4*n](为什么数组大小是4*n???
可乐manman
·
2024-02-05 15:53
数据结构
数据结构
java
算法
【暖*墟】#洛谷网课1.30# 树上问题
树上倍增基环外向树DPDFS序与欧拉序树链剖分可以参考wjyyy的https://www.wjyyy.top/421.htmlwjyyy是这样说的:树链剖分是一种优化,将树上最常经过的几条链划为重点,用
线段树
来优化区间修改和查询
Christy2222
·
2024-02-05 01:28
数据结构与算法
树状数组
复习
基本原理
树状数组
的原理简单来说就是利用二进制拆分区间我们可以对一个数进行二进制分解,最多分解成log(x)个数,同样我们可以对[1,n]这个区间进行分解。
wa的一声哭了
·
2024-02-04 17:52
数据结构
算法
算法
数据结构
spring
boot
django
fastapi
sql
flask
树状数组
相关
前置细节,得到转二进制后,从右往左数第一个1与之前所有的0构成数
树状数组
最终形成如上图结构维护的是的信息,如即到上层,包含当前区间的大区间,如即到同一层的前一个,与当前区间无关的另一同等大小的区间的信息是由整合的如维护区间最大值
Xing_ke309
·
2024-02-04 11:21
算法
java
数据结构
图论练习3
内容:过程中视条件改变边权,利用
树状数组
区间加处理卯酉东海道题目链接题目大意个点,条有向边,每条边有颜色和费用总共有种颜色若当前颜色与要走的边颜色相同,则花费为若当前颜色与要走的边颜色不同,则花费为,且颜色变为边的颜色出发时可以自定义颜色问的最小花费解题思路选边时
Xing_ke309
·
2024-02-04 11:51
图论
算法
数据结构
算法42:天际线问题(力扣218题)---
线段树
218.天际线问题城市的天际线是从远处观看该城市中所有建筑物形成的轮廓的外部轮廓。给你所有建筑物的位置和高度,请返回由这些建筑物形成的天际线。每个建筑物的几何信息由数组buildings表示,其中三元组buildings[i]=[lefti,righti,heighti]表示:lefti是第i座建筑物左边缘的x坐标。righti是第i座建筑物右边缘的x坐标。heighti是第i座建筑物的高度。你可
街头小瘪三
·
2024-02-04 07:01
算法
数据结构
算法
杭电HDU 3974Assign the task dfs出父包子的数组->知道管辖范围,
线段树
本题不讲
线段树
原理,会
线段树
后来看即可。思路:我们建好树,对树dfs。
DBWG
·
2024-02-04 05:47
HDU
深度优先
算法
递推化简+
线段树
区间维护,P6477 [NOI Online #2 提高组] 子序列问题
一、题目1.1题目背景2s512M1.2题目描述给定一个长度为nnn的正整数序列A1A_1A1,A2A_2A2,⋯\cdots⋯,AnA_nAn。定义一个函数f(l,r)f(l,r)f(l,r)表示:序列中下标在[l,r][l,r][l,r]范围内的子区间中,不同的整数个数。换句话说,f(l,r)f(l,r)f(l,r)就是集合{Al,Al+1,⋯ ,Ar}\{A_l,A_{l+1},\cdots
EQUINOX1
·
2024-02-03 16:49
OJ刷题解题报告
算法
c++
数据结构
线段树
算法41:掉落的方块(力扣699题)----
线段树
题目:https://leetcode.cn/problems/falling-squares/description/在二维平面上的x轴上,放置着一些方块。给你一个二维整数数组positions,其中positions[i]=[lefti,sideLengthi]表示:第i个方块边长为sideLengthi,其左侧边与x轴上坐标点lefti对齐。每个方块都从一个比目前所有的落地方块更高的高度掉落
街头小瘪三
·
2024-02-03 07:41
算法
数据结构
算法
leetcode
数据结构
扫描线板子 小思路
前言:本板子是结合我的
线段树
1板子和OIWIKI的扫描线写成的类。
DBWG
·
2024-02-02 18:16
板子
算法
扫描线
CDQ分治处理多维偏序基础
CDQ分治处理多维偏序基础多维偏序问题逆序对的两种解法逆序对的分治解法逆序对的
树状数组
解法二维偏序的解法二维偏序的分治解法二维偏序的
树状数组
解法三维偏序的解法三维偏序的分治套分治解法三维偏序的CDQ套
树状数组
的解法
罗博士
·
2024-02-02 16:35
ACM/ICPC
ACM分治
Count on a tree(树上路径第K最值=LCA+可持久化
线段树
)
id=2588思路:每个节点上建立一棵维护权值的可持久化
线段树
(维护从根到这个节点的权值),以他的父节点为历史版本建立,每次查询时直接在
线段树
上二分即可,所以只需要联立三棵可持久化
线段树
T[u],T[v
AmadeusChan
·
2024-02-02 15:28
算法整理
10.计算几何11.搜索12.随机化13.其他1、基础数据结构数组链表、双向链表队列、单调队列、优先队列、双端队列栈、单调栈2、中级数据结构堆并查集、带权并查集Hash表自然溢出双Hash高级数据结构
树状数组
线段树
朱三分
·
2024-02-02 01:08
线段树
BIT 求冒泡排序的交换次数
线段树
特别适合与区间相关的运算,比如MRQ(minimumrangequery)求一段区间内的最小值。
小太阳花儿
·
2024-02-01 23:11
1.31学习总结
1.311.
线段树
2.BadHairDayS(单调栈)3.01迷宫(BFS连通块问题+剪枝)(连通性问题的并查集解法)4.健康的荷斯坦奶牛HealthyHolsteins(DFS)
线段树
与
树状数组
线段树
和
树状数组
的功能相似
啊这泪目了
·
2024-02-01 23:52
学习
1.30学习总结
CowLineupG(单调队列):问题转化能力很重要2.发射站(单调队列)map的时间复杂度比较高,能用数组就用数组3.ClosingtheFarmS(并查集的撤回操作)4.求细胞数量(很简单的连通性问题)用
线段树
的方法尝试两道题
啊这泪目了
·
2024-02-01 23:22
学习
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他