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
线段树+树状数组+RMQ
线段树
:CDOJ1592-An easy problem B (
线段树
的区间合并)
AneasyproblemBTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65535/65535KB(Java/Others)ProblemDescriptionN个数排成一列,每个数的大小为1或者0。有两种操作,第一种操作是把一段区间内的每个数异或1,第二种操作是询问区间内最长连续1的长度。Input第一行一个整数N(1≤N≤100000),表示N个
GoldenFingers
·
2020-09-17 14:15
数据结构-线段树
LeetCode 315 计算右侧小于当前元素的个数
使用
树状数组
实现。
树状数组
可以用于数组上需要更新的求和问题。
枫流仁武
·
2020-09-17 13:36
Leetcode
线段树
:CDOJ1597-An easy problem C(区间更新的
线段树
)
AneasyproblemCTimeLimit:4000/2000MS(Java/Others)MemoryLimit:65535/65535KB(Java/Others)ProblemDescriptionN个数排成一列,有三种操作。1.给一段区间内的每个数乘上一个非负整数。2.给一段区间内的每个数加上一个非负整数.3.询问一段区间的和模上P的值。Input第一行两个整数N(1≤N≤100000
weixin_30915951
·
2020-09-17 13:32
HDU 5458 Stability(双连通分量+LCA+并查集+
树状数组
)(2015 ACM/ICPC Asia Regional Shenyang Online)...
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5458ProblemDescriptionGivenanundirectedconnectedgraphGwithnnodesandmedges,withpossiblyrepeatededgesand/orloops.Thestabilityofconnectednessbetweennodeuand
superXX07
·
2020-09-17 13:25
php
线段树
:CDOJ1591-An easy problem A (
RMQ
算法和最简单的
线段树
模板)
AneasyproblemATimeLimit:1000/1000MS(Java/Others)MemoryLimit:65535/65535KB(Java/Others)ProblemDescriptionN个数排成一列,Q个询问,每次询问一段区间内的数的极差是多少。Input第一行两个整数N(1≤N≤50000),Q(1≤Q≤200000)。接下来一行N个整数a1a2a3….an,(1≤ai≤
weixin_30559481
·
2020-09-17 13:10
2017 CCPC 哈尔滨 A (hdu 6230) Palindrome (Manacher + BIT)
算法先处理出以每个字符为中心的回文串的长度,注意这里求出来的回文串长度一定都是奇数然后我们令p[i]为以第i个字符为中心的回文半径然后一个字符串想要满足题意需要满足下面三个条件j>ij-i=j-p[j]①所以我们可以每次把满足①条件的j放入
树状数组
中
wchhlbt
·
2020-09-17 13:18
HDU
数据结构
字符串
hdu5458 LCA+并查集+dfs序+
树状数组
神题,看着别人代码学习#include#include#include#include#include#include#include#include#include#include#include#includeusingnamespacestd;typedeflonglongLL;typedefunsignedlonglongULL;#definerep(i,k,n)for(inti=(k);
窝嘞割草
·
2020-09-17 13:33
线段树
需要开4倍区间大小的数组的原因
structlist{intleft;intright;int_max;}tree[maxn*4];如上述代码所示,我们在写
线段树
的模板时,别人会告诉我们开4倍的数组就不会溢出了,然而原因是什么,现在证明一下首先
线段树
是一棵二叉树
尉水风
·
2020-09-17 13:01
线段树
2019 杭电多校(第九场)
pid=6681题意给你一个蛋糕问你切k刀后分成多少块思路块数=交点数+1
树状数组
维护横线有多少条竖线去统计队友代码#include#definelllonglongusingnamespacestd;
七九河开
·
2020-09-17 12:04
#
2019
杭电多校
线段树
:并查集缩点
题目描述给定一个n个点n-1条边的无向连通图(一棵树),并对图中的边进行m次染色操作。每次染色操作给定2个点u、v和一种颜色c,并将图中u,v之间的最短路上的边都染成这种颜色。询问的是最终图中每条边的颜色。(若未被染色则视为颜色0即无色)题解我们会发现一个点只会被最后一种颜色影响,所以我们从后往前更新,更新边的信息可以保存在下一个点上,最后并查集缩点即可并查集缩点我们可以把并查集的find()fi
没梦想的死宅
·
2020-09-17 12:45
并查集
CDOJ_1591_An easy problem A(
线段树
水题)
AneasyproblemAEditTimeLimit:1000/1000MS(Java/Others)MemoryLimit:65535/65535KB(Java/Others)SubmitStatusN个数排成一列,Q个询问,每次询问一段区间内的数的极差是多少。Input第一行两个整数N(1≤N≤50000),Q(1≤Q≤200000)。接下来一行N个整数a1a2a3....an,(1≤ai≤
纵马且长歌
·
2020-09-17 12:59
线段树
315 计算右侧小于当前元素的个数
从右往左遍历原数组对于nums中的每个元素i,出现一次,则++cnt[i]由于要求右边比其小的元素个数,所以即求cnt[i-1]+cnt[i-2]+…这两个问题刚好对应307题的update和sumRange操作,可以用
树状数组
解决
UnendingGlory
·
2020-09-17 11:33
Leetcode
Permutation (
树状数组
)
GivenNandKfindtheN-thpermutationoftheintegersfrom1toKwhenthosepermutationsarelexicographicallyordered.Nstartsfrom0.SinceNisverylargeNwillberepresentedbyasequenceofKnon-negativeintegersS1,S2,...,Sk.Fro
闻道-问道
·
2020-09-17 11:44
树状数组
HDU2586【LCA在线算法】
到index的距离,u,v的最短距离那不就是:dis[u]+dis[v]-2*dis[LCA(u,v)];然后这边可能有多棵树,先利用并查集并一下,然后拿结点0,把所有的根连起来,DFS,ST表,然后
RMQ
keyboarder_zsq
·
2020-09-17 10:54
LCA
POJ 2763 树链剖分
点击打开链接题意:给一个树,然后树上的边的边权,然后两个操作,一个是询问u到v的路上权值和,一个是将第几条边的权值修改思路:与SPOJ375的那道题目很像,都是边上的权值,然后维护一个
线段树
进行修改和求和就行了
Dan__ge
·
2020-09-17 10:28
数据结构
树链剖分
线段树
hihocoder 1665
http://hihocoder.com/problemset/problem/1665思路:
线段树
区间更新1#include2#include3#include4#include5#include6#
A1823085974
·
2020-09-17 10:38
XTUOJ 区间覆盖总长(
线段树
+离散化)
区间覆盖总长[SubmitCode][Top20Runs]Acceteped:43Submit:235TimeLimit:3500MSMemoryLimit:65536KBDescription题目描述在X轴上给你一些线段,问被这些线段覆盖的区间长。输入每个样例的第一行是一个整数K(K≤10000),表示线段的个数,如果K=0表示输入结束。以后的K行,每行为一个线段的左右端点x1,x2,(0≤x1
IT旅行
·
2020-09-17 10:36
树状数组&&线段树
leetcode-315.计算右侧小于当前元素的个数
示例:输入:[5,2,6,1]输出:[2,1,1,0]解释:5的右侧有2个更小的元素(2和1)2的右侧仅有1个更小的元素(1)6的右侧有1个更小的元素(1)1的右侧有0个更小的元素考查
树状数组
的应用。
2048开发时长5天半的练习生
·
2020-09-17 10:16
leetcode
Codeforces Gym 101982 F Rectangles ——
线段树
+扫描线求面被矩形个数为奇数个的面积
题解:用
线段树
做一下区间更新即可。这里是奇数个矩形,可以用异或来处理数组。用sum记录一个区间上的有效的长度,被异或的话就根据原来的长度减一下就行。需要注意的是,我们存的是边值。
天翼之城*
·
2020-09-17 03:01
扫描线
线段树
Reverse and Swap ——
线段树
,区间翻转
然后的话,由于是简单翻转没有插入删除,于是可以用
线段树
,区间打上翻转标记就行了,第二种和第三种有一些区别。操作二的话,就需要在深度为k以及之后的所有深度都打上左右互换
天翼之城*
·
2020-09-17 03:01
想法
线段树
F - Rectangles Gym - 101982F 扫描线+
线段树
7897/20182019-acmicpc-pacific-northwest-regional-contest-div-1-en.pdf题意:给出n个矩形的位置,问重叠奇数个矩形的面积之和做法:和一般的
线段树
不一样
余西子
·
2020-09-17 03:41
模板
线段树
线段树
是一种在区间求和、求极值中常用的数据结构。
realjc
·
2020-09-17 00:59
编程基础
UOJ 88 [集训队互测2015]Robot
线段树
分治套凸包每个机器人在多次修改之间的贡献是不同的,因为这个一次函数被修改。显然要
线段树
分治。我们需要在
线段树
上维护凸壳,刚开始我以为要用动态凸包的那套理论。
Endless_Way
·
2020-09-16 19:04
数据结构-线段树
计算几何-凸包
其它-分治
【复习】【差分数组】【
树状数组
区间修改】
差分数组的构建即在原数列的基础上,第nnn项与第n−1n-1n−1项做差得到新数列。记a[]a[]a[]为原数组且a[0]=0a[0]=0a[0]=0则差分数组c[]c[]c[]中的任意一项c[i]=a[i]−a[i−1],i>0c[i]=a[i]-a[i-1],i>0c[i]=a[i]−a[i−1],i>0那么a[i]=∑j=1ic[j]a[i]=\sum_{j=1}^ic[j]a[i]=∑j=
Yucohny
·
2020-09-16 19:36
复习
其他-差分
数据结构-树状数组
bzoj 5394: [Ynoi2016]炸脖龙 数论+
树状数组
给一个长为n的序列,m次操作,每次操作:Input第一行两个整数n,m表示序列长度和操作数接下来一行,n个整数,表示这个序列接下来m行,可能是以下两种操作之一:1lrx表示区间[l,r]加上x2lrp表示对区间[l,r]进行一次查询,模数为pn,musingnamespacestd;#definemaxn500020#defineN20000000#definerep(i,l,r)for(regi
Thomas_ZQQ@Runespoor
·
2020-09-16 19:01
ACM
数据结构
数论
【算法笔记】AC自动机+可持久化
线段树
解决大字符集的问题
这样复杂度错误的要用可持久化
线段树
维护trans数组下面的代码只是一个思路。以前写这道题的代码找不到了,,,voidbuild(){hh=tt=0;for(int
Thomas_ZQQ@Runespoor
·
2020-09-16 19:01
字符串
bzoj 2243 染色 树链剖分 好题!
树剖后,
线段树
要记录左端点l,右端点r,左端点的颜色lc,右端点的颜色rc,区间成段更新的标记tag,区间有多少颜色段。区间合并的时候要注意如果左子树的右端和右子树的左端颜色相同那么数量要减一。
Excelsior_kereo
·
2020-09-16 19:37
树链剖分
bzoj1246(
树状数组
)
树状数组
的灵活运用,维护的是最大值,因为整个数组就是一个前缀最大值,所以可以用实现,求一个前缀最大值,和更新pos之后的最大值。
running_in_dark
·
2020-09-16 19:08
树状数组
dp
Bzoj4361:isn:
树状数组
+动态规划+容斥
题目链接:isn上来就觉得这不是个DP就是个数学题,结果他既是DP又是数学题QAQ设f[i][j]表示以i结尾的长度为j的下降序列,则f[i][j]的计算式为发现暴力计算这个是的,于是我们借助
树状数组
求逆序对的方法计算
TheWolfWhistlingSong
·
2020-09-16 18:45
OI
动态规划
树状数组
容斥原理
OI
dp
树状数组
容斥原理
BZOJ
Bzoj3531:[Sdoi2014]旅行:树链剖分+动态开点
线段树
题目链接:[Sdoi2014]旅行对于每种颜色维护一颗
线段树
,为了节约空间这里我们动态开点然后就是弱鸡的
线段树
操作了指针的动态开点
线段树
现在才会写……#include#include#include#includeusingnamespacestd
TheWolfWhistlingSong
·
2020-09-16 18:14
OI
树链剖分
普通线段树
#长期填坑# 一个奇怪的静态树上联通块处理技巧
并查集的log和
线段树
的log根本没法比听Claris说LCM也可以做但是这毕竟不能可持久化对吧。。省选之后再来填坑。。。哈哈现在都已经快十月份了两年前谁
Hillan_
·
2020-09-16 18:18
乱搞
BZOJ1146: [CTSC2008]网络管理Network
反正就是很普通的一道树剖然后在链上找k大值用树套树由于只会外层
线段树
维护区间的写法于是就打了3个log的#include#include#include#
Hillan_
·
2020-09-16 18:17
数据结构
树链剖分
树套树
莫比乌斯反演题表
可以用跟欧拉函数有关的一个公式,也可以反演bzoj2820:基础练习题bzoj2154:基础练习题bzoj2693:上面一题的升级,需要把式子的两个部分都写出来,换元再推bzoj3529:思路挺好的,离线再用
树状数组
维护函数的前缀和
200815147
·
2020-09-16 18:29
莫比乌斯反演
题表
Ants(树链剖分+
线段树
+2-SAT及前缀优化建图)
题目链接https://codeforces.com/problemset/problem/1007/D题解这道题本身并不难,这里只是记录一下2-SAT的前缀优化建图的相关内容。由于问题的本质是给定许多二元集合,判断是否能从每一个二元集合中选出一个元素,使得所有选出的元素合法,因此考虑使用2-SAT解决该问题。不难发现,使用2-SAT解决该问题的复杂度瓶颈在于建图。我们为每一种颜色\(i\)对应的
anzi3457
·
2020-09-16 18:23
数据结构与算法
loj6100 「2017 山东二轮集训 Day1」第一题
传送门:https://loj.ac/problem/6100【题解】我们考虑维护从某个端点开始的最长满足条件的长度,如果知道了这个东西显然我们可以用主席树来对每个节点建棵关于右端点的权值
线段树
,然后区间修改
aklm45097
·
2020-09-16 18:49
【bzoj4028】【HEOI2015】公约数数列【分块暴力】
id=4028这题十分神奇……一开始我考虑
线段树
,后来又考虑分块。。但是我死在了这么一个问题上:知道每一块的GCD和XOR,那怎么查询?
ZMOIYNLP
·
2020-09-16 18:36
卡常数大法
HEOI
bzoj
[bzoj2724][Violet 6]蒲公英
http://www.docin.com/p-679227660.html可以用冰点文库下载..用分块+可持久化
线段树
统计答案..有点毒瘤..
YZH__12345
·
2020-09-16 18:33
可持久化线段树
分块
树状数组
的三种操作
直接贴代码一、改点求段namespaceBIT{#defineN100000#definelowbit(a)((a)&(-a))intc[N],num;voidinit(intn){num=n;}inlinevoidadd(intx,inta){intxx=x;while(xx1){for(inti=l-1;i;i-=lowbit(i))b[i]-=x;for(inti=l-1;i1){for(i
Vectorxj
·
2020-09-16 18:27
树
树状数组
区间操作模板
推荐一篇博客:http://m.blog.csdn.net/blackjack_/article/details/74997479推导过程在代码之前,模板题是Luogu3368或者codevs
线段树
练习
嘉伟森的猫
·
2020-09-16 18:00
OI-模板
树状数组
BZOJ 2818 Gcd 线性欧拉
z是素数并且x,y=x则可以得到我们要的答案就是∑max(y/z)i=1phi(i)而max(y/z)就是max(n/z);所以只需要枚举一下质数z随便搞一下就好了,最好用前缀和记录HINT:前缀和写
树状数组
的都是
wzq_QwQ
·
2020-09-16 17:08
Mathematics
BZOJ刷题录
AtCoder Beginner Contest 174 总结
F虽然n还不小,但还是可以用莫队水过去(理论上大于3e9,2000ms有点危险),正解应该是主席树或者离线+
树状数组
。主席树空间开大点没毛病......A#in
嘉伟森的猫
·
2020-09-16 17:56
AtCoder总结
主席树
HDU 3642 Get The Treasury(离散化+
线段树
:扫描线)
HDU3642GetTheTreasury(离散化+
线段树
:扫描线)http://acm.hdu.edu.cn/showproblem.php?
focus_best
·
2020-09-16 16:59
ACM--题解汇总
注意!
have
a
question
★★★
划分树
然后搜索了一下划分树的资料,擦擦擦,这不就是同快排的原理+
线段树
的操作,两者一融合进化成了划分树么。前面两个都会,学习起来倍感轻松。
abcdefghijk0987
·
2020-09-16 14:47
C.与众不同 (
RMQ
+ 思维)
思路:这个居然可以用
RMQ
,实在是太神奇了。首先:我用一个a数组记录i位置往前的第一个非法位置,什么意思呢?
OerUUU
·
2020-09-16 13:55
RMQ
hdu5107(
线段树
处理三维问题)
很不错的一道
线段树
题,这里的降维方式值得我们学习。题意:已知n个建筑的坐标(x,y)和高度,查询点(x,y)的左下角中高度第k小的建筑的高度。解题思路:坐标加高度相当于是一个三维的题目。
slmady
·
2020-09-16 12:32
acm之数据结构
CodeForces - 160E Buses and People(
线段树
+三维偏序)
题目链接:点击查看题目大意:(网上复制一下别人的题意。。懒)有n辆公交车,每辆公交车有s(起始点),f(终点),t(发车时间)(行驶不需要时间)有m个人,每个人有l(起点),r(终点),t(出现时间)每个人出现后会选择最早经过他且可行的公交车(即满足s#include#include#include#include#include#include#include#include#include#i
Frozen_Guardian
·
2020-09-16 12:55
线段树
线段树
偏序问题
线段树
学习
https://blog.csdn.net/qq_41754350/article/details/81007115为什么要学习
线段树
?
大瑞小
·
2020-09-16 12:42
树
acm
数据结构
11.22日总结
最后还有一道
树状数组
的题目,类似用
树状数组
求逆序对,这里求“正序对”。然后就继续看图论的内容了。
_wjunjie
·
2020-09-16 12:23
随笔
HDU-3642-Get The Treasury(扫描线+
线段树
,三维)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3642题目大意:给出一个三维坐标系,给出n个立方体,求被三个立方体覆盖的体积和。思路:将z轴离散,平面扫描xy平面,对于每个类似3D打印,注意扫描的区间,不在[z,z+1]范围的立方体要移除扫描序列。ACCode:#include#include#include#include#include//sra
永远鲜红の幼月
·
2020-09-16 12:11
线段树
数据结构-
树状数组
(一)
复习笔记:
树状数组
(一)基本原理
树状数组
,顾名思义,是一个存储方式像树一样的数组。
diaogengchi6958
·
2020-09-16 11:14
数据结构与算法
上一页
25
26
27
28
29
30
31
32
下一页
按字母分类:
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
其他