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
ACM之路--线段树
递推化简+
线段树
区间维护,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
板子
算法
扫描线
Count on a tree(树上路径第K最值=LCA+可持久化
线段树
)
id=2588思路:每个节点上建立一棵维护权值的可持久化
线段树
(维护从根到这个节点的权值),以他的父节点为历史版本建立,每次查询时直接在
线段树
上二分即可,所以只需要联立三棵可持久化
线段树
T[u],T[v
AmadeusChan
·
2024-02-02 15:28
算法整理
计算几何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
学习
每日算法打卡:动态求连续区间和 day 31
文章目录原题链接题目描述输入格式输出格式数据范围输入样例:输出样例:题目分析示例代码树状数组
线段树
原题链接1264.动态求连续区间和题目难度:简单题目来源:《信息学奥赛一本通》题目描述给定n个数组成的一个数列
一只小松许捏
·
2024-02-01 08:43
算法进阶
算法
蓝桥杯
线段树
树状数组
线段树
2板子 区间加与乘
当对区间即有加操作,又有乘操作时://乘法满足分配率!!,所以乘懒标记可以“攻击”加懒标记//策略:两个标记都安排//当乘标记来临时,对自己和懒标记都乘//假设都没有向后延伸////(特别好的分析:)//当加标记来临时,正常加就好啦,因为乘已经对加处理啦////两个一起来临呢,先乘!!!!!!!!!!!!!!!!!//(乘已经对这部分加处理过了)templateclassST//segmenttr
DBWG
·
2024-01-31 21:23
板子
算法
数据结构
线段树
1板子 区间加
目录
线段树
的结构关系:int作为下标的:longlong作为下标的:类的构造函数写在类最后了,本板子没有将左右下标封装到节点中,而是实时计算的。
DBWG
·
2024-01-31 21:22
板子
算法
数据结构
线段树
前缀和
模板笔记 ST表 区间选数k
当然这里也是可以使用
线段树
进行求解,由于这道题是静态性的,所以我们可以直接使用ST表的数据结构,进行求解即可。
线段树
的方式是可以解决动态性的,也可以解决静态
Angindem
·
2024-01-31 12:44
算法笔记
笔记
什么是
线段树
?
线段树
是用于储存区间信息的数据结构。
线段树
将区间划分为左右子区间进行递归求解,便形成了树形结构。
动态一时爽,重构火葬场
·
2024-01-30 06:03
algorithm
算法
魔法少女LJJ 题解
Solution这题的各种操作,用并查集+
线段树
合并完成。如果你是被题目数据范围晃飞的,建议先去想想怎么做。先介绍一下
一棵油菜花
·
2024-01-30 06:10
题解篇
算法
c++
风信子(
线段树
)
有一个长为nnn的序列aaa。定义一个合法二元组(i,j)(i,j)(i,j)需要满足i,ji,ji,j为整数,且i≤ji\leji≤j。它的分数为ai−aja_i-a_jai−aj。合法二元组(i,j)(i,j)(i,j)在区间[l,r][l,r][l,r]内,当且仅当l≤i,j≤rl\lei,j\lerl≤i,j≤r。有mmm次操作:1lrx:表示将序列中第lll个位置到第rrr个位置都加上x
dygxczn
·
2024-01-28 21:05
算法
2024.1.21 寒假训练记录(4)
花了大半天学了树套树(树状数组套主席树部分),题目还没有完全做完,明天继续做完剩下的一题和再往后学一下
线段树
套平衡树,代码能力好弱啊啊,今天把离散化写假了导致调了好久好久。
Texcavator
·
2024-01-28 20:10
2024寒假训练记录
算法
2024.1.20 寒假训练记录(3)
qaq,下午打了集美大学的蓝桥杯校赛,刚拿到题解,明天补题文章目录CF960FPathwalksCF960FPathwalks题目链接主席树中结点的l和r表示左右子结点的编号而不是该结点的范围,要注意它和
线段树
的区别
Texcavator
·
2024-01-28 20:40
2024寒假训练记录
算法
算法分析与设计
1.
线段树
#include#include#include#include#include#include#includeusingnamespacestd;inttree[1005*4],a[1005
不爱睡觉不爱起床的小Kiku
·
2024-01-28 06:44
数据结构与算法
算法
c++
开发语言
「蓝桥·算法双周赛」第四场分级赛——小白入门赛
最后两题大概知道考啥,但是完全不会写,第五题应该考的是树状数组、
线段树
,第六题是考hash。
Beau_Will
·
2024-01-27 23:59
C/C++
算法
数据结构
c++
c语言
[蓝桥学习] 前缀和与差分
前缀和原理特点求区间和如果要实现一边修改一边查询,需要使用树状树组和
线段树
。
Waldeinsamkeit41
·
2024-01-26 08:15
学习
算法基础之
线段树
文章目录
线段树
线段树
线段树
的原理十分简单,但是在代码上会相对复杂一点他也是用来维护一个序列,是一个完全二叉树的形状对于每一个节点是一个结构体structNode{intL,R;intsum;//以和为例
一只小松许捏
·
2024-01-25 23:34
算法进阶
算法
线段树
蓝桥杯
你能回答这些问题吗——
线段树
给定长度为N的数列A,以及M条指令,每条指令可能是以下两种之一:1xy,查询区间[x,y]中的最大连续子段和。2xy,把A[x]改成y。对于每个查询指令,输出一个整数表示答案。输入第一行两个整数N,M(N≤500000,M≤100000)。第二行N个整数A[i](−1000≤A[i]≤1000)。接下来M行每行3个整数k,x,y,k=1表示查询(此时如果x>y,请交换x,y),k=2表示修改。输出
OLDERHARD
·
2024-01-25 03:33
算法
数据结构
2024.1.20 模拟赛总结
推了推细节发现还是用
线段树
维护写起来顺一点。9:409:409:40写完并调完第一发。不过他题目给的n=5×105n=5\times10^
best_brain
·
2024-01-23 23:35
模拟考总结
个人总结
数据结构
c++
经验分享
CF474F.Ant colony(
线段树
+策略)
原题链接题意:给你n只蚂蚁,q个询问,对于询问来说,你可以任意选择一个区间[l,r],之后这里的蚂蚁就会相互之间作战,那么当ai和aj决斗时,如果ai能够被aj整除,那么ai的战斗点+1,当且仅当蚂蚁的战斗点为r-l的时候才不用被吃掉,让你求询问的区间,一共吃掉了多少个蚂蚁,样例:[1,3,2,4,2]询问区间[1,5]的时候它们分别的战斗点为[4,0,2,0,2]解法:一开始想到了区间gcd,但
SundayJerry
·
2024-01-22 17:52
CF1600分以上训练
数论
决斗(
线段树
)
青蛙哥与名侦探柯南正在进行一场对决。他们两个人每人有nnn张牌,每张牌有一个点数。并且在接下来的nnn个回合中每回合青蛙哥与名侦探柯南两人会各自打出一张牌。每回合裁判会检查,打出的牌点数更高的一方获胜从而得到一分,如果二人点数相同,则不得分。然而现在青蛙哥通过偷看的方法得到了名侦探柯南的出牌顺序,他可以任意定一个自己的出牌的顺序。他首先希望让自己的得分尽可能高,然后就是希望在让自己的得分尽可能高这
dygxczn
·
2024-01-22 17:18
算法
数据结构
数据结构概述
概述是计算机的一门基础学科研究数据在计算机中进行组织和存储,使我们可以高效的获取数据和修改数据分类线性结构:数组、队列、栈、链表、哈希表...树型结构:二叉树、二分搜索树、AVL树、红黑树、堆、Tire、
线段树
颜尚德
·
2024-01-21 07:30
数据结构
【数据结构】可持久化
线段树
(主席树)
文章目录接下来是一道例题再放一道==标记永久化+主席树==再加一道==主席树+在线处理==主席树即为可持久化
线段树
,是一种可以记录每一个修改版本的数据结构。
Texcavator
·
2024-01-20 14:26
数据结构
数据结构
算法
备战蓝桥杯算法整合
背包完全背包多重度背包Floyd-Warshall(多源最短路)Dijkstra(单源最短路)Bellman-Ford最短路算法最大公约数最小公倍数分解质因数全排列(递归)拓扑排序并查集二分算法二分答案尺取法折半枚举
线段树
线段树
乘加法混合高精度加法高精
Knock man
·
2024-01-19 06:54
C/C++竞赛笔记
数据结构
算法
acm竞赛
递减类贡献问题,考虑兔队
线段树
:0118A
http://47.92.197.167:5283/contest/454/problem/1我们其实就是要在树上从根到某个点的路径维护从任意地方开始的:而这东西,是典型的兔队
线段树
形式我们只需要把询问离线
Qres821
·
2024-01-19 01:36
兔队线段树
数据结构——用Java实现数组
数据结构可以分为三类:1.线性结构:数组、队列、栈、链表、哈希表…2.树形结构:二叉树、二分搜索树、AVL树,红黑树、堆、Trie、
线段树
、并查集…3.图结构:邻接矩阵、邻接表为什么要学习数据结构?
刘伊珂
·
2024-01-18 06:59
数据结构
【逆序对】(
线段树
| 离散化 | 桶记录 | 在线算法)
#include#include#include#includestaticintcmp(constvoid*a,constvoid*b){return*(int*)a>1);if(Bin[m]>1);if(pRght)return0;if(Beg>1),Ret=0;if(BegMid)Ret+=Query(Segm,Beg,End,RghtChild(x),Mid+1,Rght);returnR
XNB's Not a Beginner
·
2024-01-16 19:14
算法
数据结构
c++
leetcode
Mayor‘s posters POJ - 2528
题目链接思路转载题意:按给出先后放置n个海报(会相互覆盖),每个海报的范围是[l,r]会覆盖下面的海报,问最后能看到几个海报;思路:看到这题可以想到这就是区间染色
线段树
,一般这种题,在处理,L,R区间和
顾客言
·
2024-01-16 14:04
数据结构
区间染色线段树
Count the Colors ZOJ - 1610
题目链接题意:给定n个区间[l,r]和颜色c,每次给[l,r]涂上c这个颜色.后面的涂色会覆盖之前的涂色.最后要求输出区间[0,8000]中每种颜色及其出现的次数,如果该颜色没有出现过则不输出.思路:典型的
线段树
区间染色问题
顾客言
·
2024-01-16 14:04
算法
【模板】
线段树
(
线段树
区间合并20次多项式)
题目思路来源lyw题解洛谷高仿题目P4247(ai+x)(ai+x)(ai+x)注意到当x有超过20项时,20个2相乘,对2的20次方取模就为0所以,维护0次项到19次项乘积的和,向上合并时,是两个多项式卷积,这里暴力相乘即可下推标记,当下放一个区间加x的标记时,,其中,iusingnamespacestd;#definerep(i,a,b)for(inti=(a);i=(b);--i)typed
Code92007
·
2024-01-16 07:32
线下比赛
线段树
多项式合并
北京市赛
ABC332 A-F
AtCoderBeginnerContest332-AtCoder打的最难受的一集,前三题阅读理解,D暴力没想出来,E典的子集dp,F一眼区间乘加的
线段树
但是没时间写,掉大分,要被新生单调队列优化了A-OnlineShopping
Muelsyse_
·
2024-01-14 23:24
Atcoder
算法
洛谷 P1442 铁球落地【线性dp+
线段树
预处理+离散化】
原题链接:https://www.luogu.com.cn/problem/P1442题目描述在二维坐标系内有n个平台(定义平台是一条两端点纵坐标相同的开线段,开线段指线段两个端点不算做线段本身)和一个铁球,铁球如果下面没有物体,则每秒会下落一个单位长度。球每次落到某个平台上后,游戏者可以选择水平向左或水平向右滚,球滚动速度是每秒1个单位长度。由于铁球的质量不太好,每次落下的高度不能超过h。设计一
lianxuhanshu_
·
2024-01-14 23:38
动态规划
算法
动态规划
数据结构
c++模板集合
字符串字符串匹配其他数学数论技巧进制其他洛谷原版\rule{120pt}{30pt}\kern{-85pt}\color{white}\raisebox{12pt}{\sf洛谷原版}洛谷原版小技巧卡常必备:快读快写离散化数据结构区间操作
线段树
树状数组
stripe-python
·
2024-01-14 19:22
c++
开发语言
算法
数据结构
图论
动态规划
【OI】c++算法模板
洛谷原版\rule{120pt}{30pt}\kern{-85pt}\color{white}\raisebox{12pt}{\sf洛谷原版}洛谷原版卡常必备:快读快写
线段树
树状数组树链剖分ST表并查集
stripe-python
·
2024-01-14 19:21
c++
图论
c语言
算法
最短路
【题目记录】——牛客练习赛87
文章目录A中位数思维Bk小数查询可持久化
线段树
题目集地址牛客练习赛87个人赛制作出一题AA中位数思维题目地址A中位数思路:要使中位数最小,只需要每次选择数字的时候选择最大的两位即可,因为每操作一次就删除一个数
气派飞鹰
·
2024-01-14 19:49
题目记录
c语言
算法
牛客练习赛A-假的
线段树
链接:https://www.nowcoder.com/acm/contest/59/A来源:牛客网时间限制:C/C++1秒,其他语言2秒空间限制:C/C++32768K,其他语言65536K64bitIOFormat:%lld题目描述给你一个长为n的序列a,有m次操作1.把区间[l,r]内所有x变成y2.查询区间[l,r]内第k小值输入描述:第一行两个数n,m第二行n个数表示序列a后面m行1lr
轨轨123
·
2024-01-14 19:47
牛客竞赛
牛客练习
A-假的线段
数列区间最大值(
线段树
)
1270.数列区间最大值若数据较大,用暴力方法可能会超时建立
线段树
,改变每个线段区间的最大值每次访问[x,y]时判断[x,y]在区间的位置,是否需要再进入子区间#include#include#includeusingnamespacestd
水深00安东尼
·
2024-01-14 15:52
数据结构
算法
数据结构
ACM板子
:初始化:快读:快速幂:GCD/LCM:组合数:欧拉筛:大整数质因数分解:分解质因数:求(1e12)内质数:KMP:最小生成树:最短路LCA查找最近祖先二分图匹配RMQ区间最小值:01字典树:字典树:
线段树
GGood_Name
·
2024-01-14 12:52
cocoa
macos
objective-c
c++
【分块模板】P2068统计和
思路这题其实有很多做法,包括
线段树
、树状数组等。但大家既然是来看板子的,那就用分块的写法。先画个图理解一下:这里,我们把n分成了块,对于其中的每一块,我们都可以直接用for循环求出其区间和。
起床气233
·
2024-01-13 20:30
真题题解
算法
c++
开发语言
【CF】CF-1878E真题Iva&Pav
线段树
+二分题解
题目传送门:Iva&Pav-洛谷题目大意给定数组a和其长度n,有q次询问,每次给出,求最小的r使得(无解输出-1)(注:本文出现的所有符号全部代表位与运算!)()思路及性质首先,题目中要求的运算是位与运算,如果还不了解可以戳:C/C++二进制、位运算详解_c++二进制数表示和运算-CSDN博客根据位与运算的法则,我们很容易就可以推出:---------具体证明:·若,则,因为它们在二进制下的数字完
起床气233
·
2024-01-13 20:59
真题题解
算法
数据结构
c++
开发语言
权值
线段树
的一些个人理解(小白
我先前不知道什么叫权值
线段树
,是通过一道题目我才知道的。那道题目就是逆序对。(非常经典的一道题所以我们先不谈什么是权值
线段树
。先思考这道题如何用
线段树
解决。
louisdlee.
·
2024-01-12 08:56
算法
假设法做
线段树
P3373【模板】
线段树
2-洛谷|计算机科学教育新生态(luogu.com.cn)https://www.luogu.com.cn/problem/P3373ps:(sum、add、len、mul,分别表示当前区间的区间和
louisdlee.
·
2024-01-12 08:56
算法
《洛谷深入浅出进阶篇》简单数据结构
简单数组简单栈简单队列简单链表简单二叉树简单集合图的基本概念二叉堆
线段树
树状数组与字典树
线段树
进阶简单数组:STL可变数组vector"我们首先要知道这个容器有什么特性,然后它是咋创建的、然后要知道这个东西最常见的功能
louisdlee.
·
2024-01-12 08:25
数据结构
线段树
简单板子+介绍
线段树
:什么是
线段树
?先用一个问题来引出
线段树
的论述:给你一段区间,然后给你q次询问,每次询问让你输出这个区间的最大值。乍一看,这不是很简单吗?只需要这样这样再那样那样就好了。
louisdlee.
·
2024-01-12 08:25
算法
BZOJ-3290: Theresa与数据结构(CDQ分治+二维
线段树
)
id=3290首先这题不带修改很好做,按z离散化一下,然后扫一遍,弄个二维的动态
线段树
维护即可,然后因为有了修改操作,所以使用CDQ分治来转离线,多付出一个logn代价,所以总复杂度是O(nlog^3n
AmadeusChan
·
2024-01-09 03:21
ST表 (求区间最大/最小值)
ST表ST表的功能很简单它是解决RMQ问题(区间最值问题)的一种强有力的工具它可以做到O(nlogn)预处理,O(1)是查询最值像
线段树
是O(logn)的查询算法ST表是利用的是倍增的思想拿最大值来说我们用
「已注销」
·
2024-01-08 00:40
Daily
algorithm
st
上一页
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
其他