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-树状数组
二维
树状数组
总结及模板
由于最近经常被二维问题卡住,而且二维线段树日常写炸,于是来学习总结一下二维
树状数组
来缓解一下一遇到二维问题就拉闸的情况。
Lv1_kangdi
·
2020-09-14 00:19
acm
【专题】线段树&&
树状数组
先说
树状数组
:
树状数组
相当于前缀和优化,所以不满足区间减法的不可以维护(比如说RMQ),所以说一般拿
树状数组
来维护区间和。
DQSSS
·
2020-09-14 00:17
===数据结构===
树状数组
线段树
===专题===
线段树
树状数组
数据结构
2020年9月12日普及组 T4 树【
树状数组
】【dfs序】
对于修改操作我们给以xxx为根的那整棵子树的每个点加上val∗flag[x]val*flag[x]val∗flag[x],这可以用DFS序+
树状数组
在O(logn)O(logn)O(log
Jackma_mayichao
·
2020-09-14 00:36
题解
树状数组
dfs
loj 146
数据范围1≤n,m≤1e6,−1e6≤点权≤1e61\len,m\le1e6,-1e6\le点权\le1e61≤n,m≤1e6,−1e6≤点权≤1e6解法:dfs序+树上差分+
树状数组
(题外话:树剖做这个应该非常板
新笑雨
·
2020-09-13 23:23
树状数组
dfs序
树上差分
c++分块算法(暴力数据结构)
快要noip了,该写些题解攒攒rp了(逃)看到题解里那么多线段树啊,
树状数组
啊,本蒟蒻表示:这都是什么鬼东西?
weixin_34346099
·
2020-09-13 20:51
ACM-
思维-CF#521div3 B+C+D+E+ (ECR#53div2的C 二分答案)
#521div3https://codeforces.com/contest/1077#53div2-Chttps://codeforces.com/contest/1073/problem/C进入正文521B找到使得101不存在的最少改变序列。就是离线处理这个序列,贪心的遇到101就改掉第二个1为0,然后一直On查找至结束intt;cin>>t;n=0;for(inti=0;i>sumx[i];
oliveQ
·
2020-09-13 19:57
算法题解
Codeforces Round #590 (Div. 3) D Distinct Characters Queries(set)
同理可以用
树状数组
还有个很骚的办法,用线段树,一个数字二进制为1的位置表
smilestruggler
·
2020-09-13 19:40
STL容器
思维
ZJOI2017
树状数组
属于可怜出的小清新数据结构题呢题目链接解析因为全部都在模\(2\)意义下,因此相当于单点异或,查询区间异或和.如果你对
树状数组
足够熟悉,那么你会发现可怜写了一个单点加求后缀和的程序.因此\([l,r]\
aoye9670
·
2020-09-13 15:23
数据结构与算法
线段树 以及
树状数组
树状数组
O(logn)n/2+n/4+…+1=2n这是从1-n-1层的节点数假设最后一层节点数是2n那么一共的节点数是4n主要解决的问题:单点修改区间查询前缀和O(1)只能解决区间查询问题并不能为我们解决单点修改问题
平凡的昊
·
2020-09-13 09:39
树状数组
更一道
树状数组
模板题。。虽说是模板题,但不知道为啥洛谷一直卡scanf起先以为是getchar的原因交了几次考stdoutput和我一样啊。。然后索性改成cin就过了,还好不卡cin直接上代码!
ether-
·
2020-09-13 03:49
acm竞赛
算法
c++
2019牛客暑期多校训练营(第八场)
单调栈BBeautyValues签到题CCDMA构造DDistance题意:给定一个长方体,有两种操作1.在某个点插入一个tag2.询问某个点到所有tag的最小欧几里得距离分析:分八个方向,建八个三维
树状数组
海边拾贝的言
·
2020-09-13 03:31
比赛总结
树状数组
单点修改区间查询
树状数组
单点修改区间查询//byspli#include#include#include#includeusingnamespacestd;constintN=500010;intn,m;inta[N]
SDFZspli
·
2020-09-13 01:02
模板
洛谷
树状数组
树状数组
区间修改 差分
传送门//byspli#include#include#include#includeusingnamespacestd;constintN=500010;intn,m;inta[N],c[N];intlowbit(intx){returnx&(-x);}voidadd(intpos,intv){for(inti=pos;i=1;i-=lowbit(i))ret+=c[i];returnret;}
SDFZspli
·
2020-09-13 01:02
模板
洛谷
树状数组
线段树-SegmentTree(简洁版)
与
树状数组
(BinaryIndexedTree)相似,线段树也用来处理数组相应的区间查询(rangequery)和元素更新(update)操作。
weixin_43107805
·
2020-09-13 00:16
算法
POJ-2352 Stars(
树状数组
)
所以就是统计x前面比它小的星星的个数符合
树状数组
最基本的应用(输出左边小于x的数的个数)注意的是:
树状数组
下标为0的位置不可用,所以我们需要在输入x坐标时+1.
ZMST
·
2020-09-12 23:20
树状数组
hdu
[bzoj3262]陌上花开 三维偏序 cdq分治+
树状数组
3262:陌上花开TimeLimit:20SecMemoryLimit:256MB[Submit][Status][Discuss]Description有n朵花,每朵花有三个属性:花形(s)、颜色(c)、气味(m),又三个整数表示。现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量。定义一朵花A比另一朵花B要美丽,当且仅当Sa>=Sb,Ca>=Cb,Ma>=Mb。显然,两朵花可能有同样
Leokery
·
2020-09-12 21:53
树状数组
bzoj
cdq分治
bzoj 2648 SJY摆棋子 cdq分治+
树状数组
题面题目传送门解法同bzoj2716自己cdq写的还是丑啊,别人A掉了我T飞了代码#include#defineinf1voidchkmax(node&x,nodey){x=max(x,y);}templatevoidchkmin(node&x,nodey){x=min(x,y);}templatevoidread(node&x){x=0;intf=1;charc=getchar();while(
weixin_30591551
·
2020-09-12 20:46
poj2155
树状数组
简单题
修改一个区间,查询一个点。#include#include#definemax1010intmap[max][max];intN,T;intlowBit(intx){returnx&(-x);}intgetSum(intx,inty){inti,j;intsum=0;for(i=x;i>0;i-=lowBit(i)){for(j=y;j>0;j-=lowBit(j)){sum+=map[i][j]
南山小翁
·
2020-09-12 20:21
树状数组与线段树
POJ 2182 Lost Cows(
树状数组
,暴力解法)
POJ2182LostCows(
树状数组
,暴力解法)http://poj.org/problem?
focus_best
·
2020-09-12 20:34
数据结构--树状数组
ACM--题解汇总
★★
ACM--技巧题
practice
again
BZOJ 2716/2648 SJY摆棋子 (三维偏序CDQ+
树状数组
)
这就是一个三维偏序问题,用
树状数组
维护最大值即可所以通过坐标变换,跑$4$次$CDQ$就行了?没错,你会像我一样T得飞起1#in
p是马甲
·
2020-09-12 18:49
中位数及带权中位数题集
求$k$的过程,可以用二分+
树状数组
解决。求得$k$后,因为$k$是固定不动的,如果$ik$类似。真的是慎用除法,不然都不
weixin_30588675
·
2020-09-12 17:18
树状数组
扩展(异或求和)
题目:逃票的chanming题意:操作0:读入p,q,v,并且a[p]^=v,a[p+1]^=v,..,a[q]^=v;操作1:读入p,q,输出s=a[p]^a[p+1]^a[p+2]..^a[q]的结果;思路:代码:#include#include#include#include#include#include#include#include#include#include#includeusi
aszmq
·
2020-09-12 15:33
树状数组
线段树
CCF认证 2017-09 除法
用
树状数组
模板做,一开始只有50分,超时突发奇想做了些优化,意外的100分了!这数据真的。。
_zlWang
·
2020-09-12 14:23
CCF认证历年真题
CCF CSP认证201709-5 除法
普通数组30分,
树状数组
50分,至于线段树的区间更新,有大佬教教我吗。我发现
树状数组
就能100分,只是需要优化常数。区间内选择性做除法,似乎只能进行单点更新,如果路过的大佬有更好的方法,求指点!
空空如也2333
·
2020-09-12 14:21
ccf
[ACM]CCF CSP [201709-5]E题 除法
(2)维护一个
树状数组
,修改值以及统计区间和。这样仍然会超时,加了个优化,(1)中这些因子如果没在询问1中的v出现过(而v最多有10万个不同的),就不用记录。这样可以过所有数据。
vcvycy
·
2020-09-12 14:33
ACM模板
CCF 201709-5(
树状数组
)
题目:问题描述小葱喜欢除法,所以他给了你N个数a1,a2,⋯,aN,并且希望你执行M次操作,每次操作可能有以下两种:给你三个数l,r,v,你需要将al,al+1,⋯,ar之间所有v的倍数除以v。给你两个数l,r,你需要回答al+al+1+⋯+ar的值是多少。输入格式第一行两个整数N,M,代表数的个数和操作的次数。接下来一行N个整数,代表N个数一开始的值。接下来M行,每行代表依次操作。每行开始有一个
SunshineAround
·
2020-09-12 13:46
算法
[CCF] 201709-5 除法 Apare_xzc
[CCF]201709-5除法
树状数组
水题…(不过要剪枝)题面:我的代码#includeusingnamespacestd;constintmaxn=1e5+100;longlonga[maxn];intb
Apare_xzc
·
2020-09-12 13:45
CCF
Apare_xzc
解题报告
树状数组
介绍(转)
树状数组
是一个查询和修改复杂度都为log(n)的数据结构,假设数组a[1...n],那么查询a[1]+……+a[i]的时间是log级别的,而且是一个在线的数据结构,支持随时修改某个元素的值,复杂度也为log
oopos
·
2020-09-12 13:13
数据结构
c
算法
编程
扩展
matrix
[BZOJ]2716: [Violet 3]天使玩偶 CDQ分治+
树状数组
Description题解:这类问题好像可以用kd-tree?然而蒟蒻并不会。不过CDQ分治的做法也挺巧妙的。考虑一个点(x,y),如果只考虑它左下角的离他最近的点,那么我们要找的就是所有满足x1usingnamespacestd;#defineLLlonglong#definepapairconstintMaxn=500010;constintMax=1000001;constintinf=-1
200815147
·
2020-09-12 12:09
树状数组
CDQ分治
树状数组
/归并排序应用: 计算数组的小和
树状数组
/归并排序应用:计算数组的小和简介思路
树状数组
归并排序简介面试文远知行,被问到了这道题,牛客程序员代码面试指南:计算数组的小和题目描述如下:数组小和的定义如下:例如,数组s=[1,3,5,2,4,6
lih627
·
2020-09-12 12:03
算法
数据结构
算法
洛谷P1972 [SDOI2009]HH的项链 离线+
树状数组
主席树
题目链接:https://www.luogu.com.cn/problem/P1972题意:区间不同数的个数。思路:第一种写法:离线询问,将其按照r大小排序,然后对于ai,将当前位置+1,上一次出现位置-1,求前缀和就是答案。#includeusingnamespacestd;typedeflonglongll;#definefifirst#definesesecond#definelsrt#de
moomhxy
·
2020-09-12 09:19
主席树
树状数组
洛谷
夜深人静写算法(三)-
树状数组
目录一、从图形学算法说起1、MedianFilter概述2、rpixel-MedianFilter算法3、一维模型4、数据结构的设计5、
树状数组
华丽登场二、细说
树状数组
1、树or数组?
英雄哪里出来
·
2020-09-12 08:59
夜深人静写算法
夜深人静写算法
剑指 Offer 51 数组中的逆序对
树状数组
写法classSolution{public:#definemaxn50050#definelowbit(i)(i&(-i))intn,m,a[maxn],b[maxn],c[maxn];voidupdate
Thinking knife
·
2020-09-12 08:55
面试
HDU-6315 Naive Operations
题目链接:HDU6315题解:
树状数组
+线段树。每一次我们对an加一就相当于对bn-1,当bn=0,代表c[n]++。
树状数组
用来单点更新,区间求和,线段树用来维护bn当前的值,以及记录最小值。
yizhibaiwuya
·
2020-09-12 08:42
Poj 3167 Cow Patterns Hdu 4749 Parade Show (KMP大小关系相同匹配+
树状数组
)
两道题差不多,区别在于匹配时是否允许重叠自己写的时候细节没处理好,无限WA。。。。KMP和exKMP先练到这里,接下来计划研究下被虐了一遍又一遍的后缀数组。。。昨天再战cet6,这回写作和翻译题简直感人。。。希望这回能过吧。坑爹的考试周又要开始了,希望做题的时间能够得到保证。参考了poj3167-1292765944的专栏-博客频道-CSDN.NET两个串的排名串相等当且仅当这两个串的每个位置上的
时雨晴天
·
2020-09-12 08:08
ACM/ICPC
Regional
KMP
exKMP
字符串
序列--(
树状数组
维护等差数列模板)
题目描述eobiyye给了你一个长度为n的序列ai,序列中每个元素的初始值为0。接下来她会对这个序列进行m次操作,每次操作有4个参数l,r,s,e,表示将区间[l,r]加上一个首项为s,末项为e的等差数列。若一次操作中l=1,r=5,s=2,e=10,则对序列中第1~5个数分别加上2,4,6,8,10。现在Geobiyye要求你求出m次操作后序列中的每个数的值。输入第一行2个整数n,m,表示序列长
PushyTao
·
2020-09-12 08:48
数据结构
有意思的小题目
基于ST的RMQ的实现
2.RMQ问题有很多解决办法,比如直接暴力,线段树/
树状数组
,ST等。在这里面ST(sparsetable:也被说成跳表)。
MatrixYg
·
2020-09-12 07:30
POJ
【树转数组】poj1195
/*二维的
树状数组
:更新某个元素时:NO.1:c[n1],c[n2],c[n3],....,c[nm];其中n1=i,n(i+1)=ni+lowbit(ni);nm+lowbit(nm)的值应该大于元素个数
欧拉士大夫
·
2020-09-12 07:33
acm-
最大公约数/最小公倍数 快速算法
方法一:欧基里德算法:#include#includeusingnamespacestd;intgcd(int,int);intmain(intagrc,char*agvc[]){intm,n;ifstreamcin("a.txt");while(cin>>m>>n){coutb)a-=b;elseb-=a;}returna;}方法二更快:化归思想/*tein算法求最大公约数,和欧基里德算法相比,
秦时明月-cy
·
2020-09-12 07:44
c++
算法
Codeforces Round #485 (Div. 2) - E - Petr and Permutations
用归并、
树状数组
、线段树都行。另外负数取余,取余的结果与被取余的数保持一致,如果不确定正负,就先使用绝对值再取余。也可以直接求出最少交换
Self-Discipline
·
2020-09-12 07:55
ACM
算法
https://ac.nowcoder.com/acm/problem/14136(牛客网 监视任务)
题目链接:题解:本题我们不能一上来就用
树状数组
来统计每一位的贡献,我们需要先对区间进行一个排序,先按照区间的右端点由小到大排序,再按照区间的左端点从小到大排序,再按照区间的k值从大到小排序。
qq_3030364995
·
2020-09-12 06:37
ACM-
–圆–-HDOJ 1065 --I Think I Need a Houseboat--水
HDOJ题目地址:传送门IThinkINeedaHouseboatTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):11934AcceptedSubmission(s):3361ProblemDescriptionFredMapperisconsideringpurch
学霸的一天
·
2020-09-12 06:36
ACM算法
ACM水题
Petr and Permutations CodeForces - 987E(逆序对)
求出是谁操作的(原序列为从小到大的序列),Peter的操作次数为3n,Alex的操作次数为7n+1解析:我们来看这个序列中的逆序对,逆序对的个数为偶数则操作次数为偶数,逆序对的个数为奇数,则操作次数为奇数然后
树状数组
求逆序对即可
babing2770
·
2020-09-12 05:56
【POJ】2299 Ultra-QuickSort
树状数组
树状数组
求逆序对WQNMDlonglongRunIDUserProblemResultMemoryTimeLanguageCodeLengthSubmitTime17806769FMM6662299Accepted11496K969MSG
FMM666
·
2020-09-12 05:42
POJ
较易
树状数组
CF587F Duff is Mad(AC自动机+
树状数组
+分块)
然后询问就是求\(S_i\)在AC自动机上跑时经过所有点的点权用
树状数组
维护。设\(\sum{len[S_i]}=L\)这样的复杂度就
Aaronliu17008
·
2020-09-12 05:17
树状数组
树状数组
树状数组
利用二进制,删掉线段树中不需要的点,再把剩下的节点对应到数组中。
日渐秃噜的小杨
·
2020-09-12 05:18
模板
洛谷 P3605 [USACO17JAN]Promotion Counting晋升者计数——
树状数组
,权值线段树
这个题目实际和上个题目类似,实际是求树上的逆序,所以将dfs序与
树状数组
结合起来。先将数据离散化。先做一次求值,搜索后再做一次求值,二者的差值就是这颗子树上的逆序。
lengxuenong
·
2020-09-12 04:38
数据结构
树状数组
线段树
模板合集(1)
文章目录基础对拍程序快速幂读入优化二分线性筛图论邻接表LCASPFA二分图匹配网络流数据结构并查集线段树(区间加/乘,求和模板)
树状数组
字符串KMP算法基础对拍程序转自http://blog.csdn.net
P1atform
·
2020-09-12 04:26
总结
总结
数据结构之真别多想—
树状数组
瓶颈如何理解
树状数组
?这个结构的思想和线段树有些类似:用一个大节点表示一些小节点的信息,进行查询的时候只需要查询一些大节点而不是更多的小节点。最下面的八个方块就代表存入a中的八个数,现在都是十进制。
Simon5ei
·
2020-09-12 03:00
树状数组
的区间修改问题
我昨天写
树状数组
的时候最初建树的时候是用的原值没有修改后的值但是这样写不能实现区间的加权必须一个点一个点的更新很麻烦然后我百度了一下发现一开始建树存的是数的差值update(i,a[i]-a[i-1])
jithxx_
·
2020-09-12 00:32
洛谷
算法
树状数组
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
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
其他