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
——树状数组
bzoj 2141: 排队 (
树状数组
套线段树)
我们可以用
树状数组
套线段树维护一下,外层表示位置在
树状数组
中该点的控制区间,线段树是权值线段树。然后每次交换完了计算一下就可以了。
clover_hxy
·
2017-03-30 19:58
树套树
bzoj 2674: Attack (整体二分+
树状数组
套线段树)
题目描述传送门题目大意:有N座城市和N个太守,N个城市可以看作在二维平面上的N个点。N座城市的标号为0,1,2,……,N-1。第i座城市的坐标为(Xi,Yi),镇守这座城市的太守的能力值为Zi。chnlich每次会选择一个边平行于坐标轴的矩形区域,并奇袭其中太守能力值第K小的城市(奇袭结束之后城市与太守依然存在)。不过,他的敌人经常会偷偷交换两座城市的太守,防止弱点被chnlich发现。现在,ch
clover_hxy
·
2017-03-30 17:04
树套树
cdq分治&整体二分
[BZOJ3730][点分树][
树状数组
]震波
直接建出点分树,树上搞个线段树什么的就可以了……然而我常数丑……就用
树状数组
了……代码也很丑#include#include#include#include#include#defineN200010usingnamespacestd
LowestJN
·
2017-03-29 18:46
点分树
树状数组
BZOJ4785: [Zjoi2017]
树状数组
题目大意:给了一种错误的实现
树状数组
方式,每次随机在一个区间里修改一个值,问每次询问得到的答案是正确的概率首先我们可以慢慢琢磨一下这份代码:发现其实他就是在求后缀和然后由于模2,其实整道题都相当于在异或这样每次
commonc
·
2017-03-29 15:30
BZOJ
线段树
省选
树套树
HDU1166 敌兵布阵 线段树 模板题
题目链接线段树模板之单点修改,区间查询用线段树维护区间和.
树状数组
也可以解决.会在后面补上.注意:数据范围较大不要使用cin/cout//线段树#include#include#include#includeusingnamespacestd
ProboxDu
·
2017-03-28 23:57
线段树
bzoj 3631 树链剖分+差分
个节点的树,给出访问顺序,每经过一个点该点权值加1(x->y->z,y只需要加一次),初始为0.求最后每个点经过总次数显然树剖裸题区间加1,单点查询,所以完全没有必要写线段树,一开始naive的想用差分的
树状数组
代替线段树
Eirlys_North
·
2017-03-26 23:12
bzoj
树链剖分
ZJOI2017
树状数组
题解可以注意到,假的
树状数组
实际上是求后缀和。那么对于每个询问,真的
树状数组
查询的和是[l,r],假的查询的和是[l−1,r−1],它们的区别只有l−1和r这两个端点。考虑用一个树套树维护这个东西。
Akakii
·
2017-03-25 12:38
树套树
[BZOJ2253][2010 Beijing wc]纸箱堆叠(dp+bit+cdq分治)
题目描述传送门题解最长上升子序列+三维偏序问题裸的dp人人会对吧O(n2)考虑对序列进行cdq分治,每一次用左边的区间来更新右边的区间按照x分治,每一次按照y排序,然后z用
树状数组
查询需要注意的是,这里全部都是严格大于
Clove_unique
·
2017-03-24 21:46
题解
dp
bit
cdq分治/整体二分
bzoj 3295: [Cqoi2011]动态逆序对 (CDQ分治+
树状数组
)
题解这道题之前写过
树状数组
套线段树。首先我们把所有的删除操作倒过来,变成插入操作。我们考虑加入一个点会产生的逆序对数。
clover_hxy
·
2017-03-24 17:14
树状数组
cdq分治&整体二分
bzoj 2683: 简单题 (CDQ分治+
树状数组
)
题目描述传送门题目大意题解CDQ分治,把询问拆成x1-1,和x2两种操作。每次将区间中的操作按照横坐标排序,然后二分,加入[l,mid]中的操作,[mid+1,r]中的询问统计[y1,y2]之间的和。代码#include#include#include#include#include#defineN500003usingnamespacestd;inttr[N],n,m,ans[N],mark[N
clover_hxy
·
2017-03-24 17:49
树状数组
cdq分治&整体二分
bzoj 4361: isn (容斥+DP+
树状数组
)
这个DP可以用
树状数组
优化,O(n2logn)的求解。h[i]=∑nj=1f[j][i]表示从中选取
clover_hxy
·
2017-03-23 18:47
动态规划
树状数组
容斥原理
[BZOJ3529][Sdoi2014]数表(莫比乌斯反演+
树状数组
)
题目描述传送门题解md刚开始读错题了本来不是很难的一道题被我搞的看起来不可能做出来?首先看看数表里的数都是啥实际上位置(i,j)上的数就是f(gcd(i,j)),其中f(i)表示i的约数和那么考虑一下怎么科学地求出来f约数和定理:若n=∏ipkii,其中pi为n的质因子,ki为质因子次数(正整数)那么n的所有约数的和为f(n)=∏i(∑j=0kipji)可以发现当(a,b)=1时f(ab)=f(a
Clove_unique
·
2017-03-20 16:43
题解
bit
省选
莫比乌斯反演
算法基础篇(7)------
树状数组
导语
树状数组
顾名思义,是一个具有树结构的数组,其算法思路十分巧妙。
树状数组
能解决的问题集合基本上是线段树的子集,之所以后讲,是因为与线段树相比,
树状数组
的时空效率更高,代码实现也更简单且容易理解。
对半独白
·
2017-03-19 18:31
算法基础系列
Codeforces 785E 分块+
树状数组
AntonandPermutationtimelimitpertest4secondsmemorylimitpertest512megabytesinputstandardinputoutputstandardoutputAntonlikespermutations,especiallyhelikestopermutetheirelements.Notethatapermutationofnele
black_miracle
·
2017-03-16 21:56
树状数组
分块
POJ 2155 Matrix (二维
树状数组
)
思路:二维
树状数组
的应用。但是二维
树状数组
是用来求每个子矩阵元素之和的。这里思路比较灵活一些。我们先来考虑一个一维的问题:我们把[L,R]这个区间进行取反的话我们可以在L这个位置单点加一。
aozil_yang
·
2017-03-14 20:56
POJ
树状数组
树状数组
区间更新 POJ3468
POJ3468https://vjudge.net/problem/POJ-3468学习了
树状数组
后看到书上还有关于它的区间更新知识点,书上给的不是很明确。
dreambyday
·
2017-03-11 05:41
RMQ
51nod1202【DP-
树状数组
维护】
=a[j])+1利用
树状数组
维护以值a[i]结尾的子序列个数。
keyboarder_zsq
·
2017-03-10 00:31
DP
BIT树状数组
Hanoi Factory (LIS+dp+
树状数组
/线段树维护区间最大值及单点更新)
E.HanoiFactorytimelimitpertest1secondmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputOfcourseyouhaveheardthefamoustaskaboutHanoiTowers,butdidyouknowthatthereisaspecialfactoryproduc
christry_stool
·
2017-03-09 00:35
糖果 二维
树状数组
糖果(二维
树状数组
)题目描述小姜找到了童话中“糖果国”,这里大到摩天大厦,小到小花小草都是用糖果建造而成的。
Miracle24
·
2017-03-08 17:19
C++
树状数组
[BZOJ Contest-2017省队十连测推广赛1·T1][BZOJ4765][分块][dfs序]普通计算姬
怎么求单个点的贡献呢可以用dfs序来维护子树的权值和,那么只用在dfs序上用
树状数组
来维护就行了,这样是O(n√logn)。还有就是修改,先在dfs序
LowestJN
·
2017-03-07 20:49
分块
&
阈值
dfs序
NOi密码机
树状数组
一台密码机按照以下的方式产生密码:首先往机器中输入一系列数,然后取出其中一部分数,将它们异或以后得到一个新数作为密码。现在请你模拟这样一台密码机的运行情况,用户通过输入控制命令来产生密码。密码机中存放了一个数列,初始时为空。密码机的控制命令共有3种:ADD把加入到数列的最后。REMOVE在数列中找出第一个等于的数,把它从数列中删除。XORBETWEENAND对于数列中所有大于等于并且小于等于的数依
Timsei
·
2017-03-04 16:41
poj2155 Matrix(经典二维
树状数组
)
吐槽:这题先说[x1,y1]和[x2,y2]是左上角和右下角的两个点,又说x1 #include #include #include usingnamespacestd; typedeflonglongll; constintN=1005; inttree[N][N],n;//从当前元素开始连续往左求lowbit(x)个数的和 intlowbit(intx) { return-x&x; }
Flynn_curry
·
2017-03-04 00:00
poj
数据结构-线段树&树状数组
poj1195 Mobile phones(二维
树状数组
)
思路:首先看教程,二维
树状数组
说白了就是横向为1,2,1,4,1,2,1,8这样的
树状数组
,纵向也为1,2,1,4,1,2,1,8这样的
树状数组
,那么对其的操作其实就
Flynn_curry
·
2017-03-03 21:58
poj
数据结构-线段树&树状数组
树状数组
专题入门——POJ 2352,1556,2155,3321,1990,2309,1195,2481,2299,3067
从白书上学习到前缀和,到写了这么些题目,目前看来
树状数组
最主要用途就是低复杂度的点,区间修改和查询,lower_bit真的是很神奇的东西,
树状数组
就是靠着这个东西加减最低位1来维护执行add操作和sum
Sega_hsj
·
2017-02-28 23:25
数据结构
USACO二月月赛 铂金组 friendcross CDQ分治+
树状数组
题目描述Problem3.牛为何要过马路(三)道路两旁各有n个互不相同牧场,类型为a的牛和类型为b的牛友好当且仅当|a-b|≤K。给定路两旁的牧场,牛会穿过马路,去对⾯同类型的牧场。请算出有多少对相互不友好的牛的路径会相遇。n,k#defineN100050usingnamespacestd;typedeflonglongLL;intn,k,a[N],b[N],d[N],p[N],cnt;LLan
HbFS-
·
2017-02-27 17:00
CDQ分治
【bzoj2683】简单题 CDQ分治+
树状数组
我们按照时间分治,CDQ递归过程中按x排序,遇到修改则插入到
树状数组
中,
chty_syq
·
2017-02-23 11:44
bzoj
树状数组
CDQ分治
【bzoj3262】陌上花开 CDQ分治+
树状数组
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=3262【易错点分析】相信会写CDQ分治的人都会这道题,所以我就来讲一讲博主在做题时遇到的错误(ps:静态查错大法好)1、tb的右端点多次打成r2、排序过程中忘记定义z的优先级3、被题目所坑:考虑两个属性值相同的花,它们的美丽值可以互相超过。。。所以要把相同的花缩成权值的形式4、注意把相同点缩
chty_syq
·
2017-02-23 09:52
bzoj 3038
树状数组
+并查集
同bzoj3211鬼知道为什么数列中的数不大于1e12,但是要用int64来存开根号的数varn,m,op,l,r,c:longint;f:array[0..100010]oflongint;a:array[0..100010]ofint64;t:array[0..100010]ofint64;i:longint;functionget_father(x:longint):longint;begi
Eirlys_North
·
2017-02-22 23:23
树状数组
并查集
bzoj
Ultra-QuickSort POJ - 2299 (
树状数组
)
DescriptionInthisproblem,youhavetoanalyzeaparticularsortingalgorithm.Thealgorithmprocessesasequenceofndistinctintegersbyswappingtwoadjacentsequenceelementsuntilthesequenceissortedinascendingorder.Fort
起风了_唯有努力生存
·
2017-02-22 21:48
ACM竞赛
【数据结构】--树状数组
ACM的进程
【bzoj1901】带修改的区间第k大 主席树+
树状数组
其实这个差分用的就是前缀和的思想,如果带修改操作的话,可以考虑用
树状数组
维护。
chty_syq
·
2017-02-15 20:30
bzoj
树状数组
主席树
bzoj 2743
树状数组
+离线处理
共有m组询问,每个询问给出一个区间[l,r],输出[l,r]中满足个数大于等于2的颜色数蛮经典的思想...首先,我们用膝盖想出了可能用来维护区间的数据结构:
树状数组
、线段树我们很容易想到一道智障题:输出
Eirlys_North
·
2017-02-14 10:18
树状数组
bzoj
模板
离线处理
【算法】逆序对问题的四种解法(归并排序,BST,
树状数组
,线段树)及变形
引发我对逆序对这个问题思考的源自这道题:315.CountofSmallerNumbersAfterSelf这道题要找出某个元素之后出现的比这个元素小的元素个数:ex.Given[5,2,6,1],return[2,1,1,0]这道题只是求逆序对个数的另外一个变形而已,所以这篇就着重说一下数组中逆序对个数的四种求法。归并方法以前我以为求一个序列逆序对个数的解法就是归并排序的改版。归并解法:因为要求
哈乐笑
·
2017-02-12 17:21
算法
历届试题 小朋友排队
树状数组
求逆序对
问题描述n个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的不高兴程度增加2(即不高兴程度为3),依次类推。当要求某个小朋友第k次交换时,他的不高兴程度增加k。请问,要让所有小朋友按从低到高排队,他
Statusrank
·
2017-02-11 22:30
树状数组
【POJ2155】Matrix(二维
树状数组
)
题目链接题目大意:给你n*n的矩阵初始为0,有T次操作两种操作:1.Cx1y1x2y2修改(x1,y1)到(x2,y2)的子矩阵值,即0变1,1变02.Qxy查询(x,y)的值
树状数组
有两种应用。
oranges_c
·
2017-02-08 14:34
poj
二维树状数组
数据结构
acm
树
二维
树状数组
(poj 1195)
然后一些操作0S:初始化矩阵,维数是S*S,值全为0,这个操作只有最开始出现一次1XYA:对于矩阵的X,Y坐标增加A2LBRT:询问(L,B)到(R,T)区间内值的总和3:结束对这个矩阵的操作题解:利用二维
树状数组
M_GSir
·
2017-02-07 22:07
数据结构------树状数组
|题目分类|BZOJ、Poj、Hdu题目分类
BZOJ:[线段树]BZOJ1012:裸线段树单点修改+区间求最大值[树链剖分,线段树]BZOJ1036:树链剖分后线段树维护(树链剖分模板)[
树状数组
]BZOJ1452:开多个
树状数组
解决问题[数论]
NotFound1
·
2017-02-07 15:58
算法讨论
bzoj 1901 动态区间第k大 (树套树)
刚写完线段树套splay的,回头补上
树状数组
套主席树的;线段树套splay的思路:每个线段树节点上有一棵splay里面存对应区间内的所有数字;修改时直接在每个splay上进行删除节点后再添加;查询时二分值判断是第多少大的
G_congratulation
·
2017-02-07 00:19
数据结构
bzoj 3211
树状数组
+并查集
题意:1、询问[l,r]区间和2、修改[l,r]区间的delta:dalta[i]->int(sqrt(delta[i]))思路:1、区间求和和区间修改我们可以考虑相应的数据结构:线段树或
树状数组
,这里我们选择
树状数组
Eirlys_North
·
2017-02-03 23:33
树状数组
并查集
bzoj
Codevs2038 线段树练习3(分块)
至此,这道题的三种做法就全了:1.线段树2.
树状数组
(升级版):http://blog.csdn.net/fsahfgsadhsakndas/articl
*ACoder*
·
2017-01-29 10:37
莫队分块
【清明】
树状数组
类似于空间被优化了的线段树,同样可用于修改查询
树状数组
能做到的线段树一定能做到,线段树能做的
树状数组
不一定能做到比如不能查询区间最值不过求和还是效率很高的联想一下线段树的图,作为一棵平衡二叉树,两个儿子都存在然而查询的时候是可以不用右儿子的
LOI_summer
·
2017-01-23 11:20
===【清明】===
蓝桥 小朋友排队(
树状数组
)
历届试题小朋友排队时间限制:1.0s内存限制:256.0MB提交此题问题描述n个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的不高兴程度增加2(即不高兴程度为3),依次类推。当要求某个小朋友第k次
黑码
·
2017-01-21 15:56
树状数组
蓝桥
1010. Lehmer Code (35)解题报告
思路同PATTOP1009一样,都是用
树状数组
解决,只不过这一题要用到离散化。
信道者
·
2017-01-18 19:53
C++
PAT
PAT
HDU 4417 Super Mario [
树状数组
+离线操作]【数据结构】
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4417——————————————————————————.SuperMarioTimeLimit:2000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):6059AcceptedSubmission
Tabris_
·
2017-01-18 16:55
hdu
====
数据结构
====
bzoj 2527: [Poi2011]Meteors (
树状数组
+整体二分)
2527:[Poi2011]MeteorsTimeLimit:60SecMemoryLimit:128MBSubmit:1218Solved:455[Submit][Status][Discuss]DescriptionByteotianInterstellarUnion(BIU)hasrecentlydiscoveredanewplanetinanearbygalaxy.Theplanetisu
clover_hxy
·
2017-01-12 10:11
线段树
cdq分治&整体二分
[BZOJ2674]Attack(整体二分+
树状数组
套线段树)
题目描述传送门数据有坑:给出的不一定是左下角和右上角,需要自己判断交换。题解没见过整体二分里面还有个树套树的…首先把坐标离散感觉是K大数查询和矩阵乘法两道题的结合版,就是动态求矩阵的k大值用bit套线段树的原因是没法写二维bit,于是线段树动态开点把初始的矩阵和SWAP操作都看做修改,QUERY看成查询二分第k大的数是mid,做权值小于等于mid的修改,查询的时候如果总数小于k就递归(mid+1,
Clove_unique
·
2017-01-10 21:56
题解
线段树
bit
树套树
cdq分治/整体二分
[BZOJ2674]Attack(整体二分+
树状数组
套线段树)
题目描述传送门数据有坑:给出的不一定是左下角和右上角,需要自己判断交换。题解没见过整体二分里面还有个树套树的…首先把坐标离散感觉是K大数查询和矩阵乘法两道题的结合版,就是动态求矩阵的k大值用bit套线段树的原因是没法写二维bit,于是线段树动态开点把初始的矩阵和SWAP操作都看做修改,QUERY看成查询二分第k大的数是mid,做权值小于等于mid的修改,查询的时候如果总数小于k就递归(mid+1,
Clove_unique
·
2017-01-10 21:56
题解
线段树
bit
树套树
cdq分治/整体二分
[hdu 5700 区间交]
树状数组
+二分
[hdu5700区间交]
树状数组
+二分知识点:datastructurebinaryindextree1.题目链接[hdu5700区间交]类似题目:[Codeforces754DFedorandcoupons
Xingw-Xiong
·
2017-01-07 23:33
ACM____数据结构
[BZOJ3932][CQOI2015]任务查询系统(主席树||
树状数组
套主席树)
那么可以主席树套个
树状数组
维护前缀和。不过20s卡时跑过,,,不管怎么说多一个log嘛。。。
Clove_unique
·
2017-01-06 09:57
题解
线段树
省选
可持久化
树套树
[TYVJ P1716/BZOJ 3132 上帝造题的七分钟] 二维
树状数组
区间修改、区间查询
[TYVJP1716/BZOJ3132上帝造题的七分钟]二维
树状数组
区间修改、区间查询知识点:datastructurebinaryindextree1.题目链接[TYVJP1716上帝造题的七分钟]类似题目还有
Xingw-Xiong
·
2017-01-03 03:32
ACM____数据结构
ACM____模
板
树状数组
的点+线修改
Luogu3374已知一个数列,你需要进行下面两种操作:1.将某一个数加上x2.求出某区间每一个数的和#define_FILE_""#include#include#include#include#include#include#include#definefr(i,a,b)for(inti=a,_end_=b;i=_end_;i--)#definefrei(s)freopen(s,"r",std
hh_cnyali
·
2016-12-24 09:11
树状数组
上一页
57
58
59
60
61
62
63
64
下一页
按字母分类:
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
其他