树状数组
文章平均质量分 67
。
Jozky86
这个作者很懒,什么都没留下…
展开
-
P2163 [SHOI2007]园丁的烦恼(二维数点模板题)
P2163 [SHOI2007]园丁的烦恼题意:在一个二维平面内有一些点,给你一个左上角和右下角的点,问这个范围内有多少点题解:二维数点模板题我们设F(a,b)表示以(0,0)为左下角,(a,b)为右上角的矩阵内有多少点如图不难得到:黑色部分为=F(c,d)+F(a-1,b-1)-F(a-1,d)-F(c,b-1)(不就是二维前缀和)因为数据范围过大,所以横纵坐标都离散化处理。现在我们如何求(0,0)到(x,y)内点的数量我们把矩阵内的点看作是插入操作,相当于在矩阵中(x,y)位置+原创 2021-08-15 12:03:10 · 348 阅读 · 0 评论 -
Eyjafjalla
Eyjafjalla题意:有一棵树,每个点都有自己的温度,保证根节点1温度最高,离根节点越远温度越低。现在在一个节点x爆发病毒,病毒的适宜温度是[l,r],这个病毒可以传播到温度在[l,r]的临近点上,问有多少个点被感染了题解:题目中说点的温度离根节点越远,温度越低,也就是说子树内的温度都要比其根节点低。现在我们要找与x相连的且温度在[l,r]的节点,他们是连续的。我们可以这样,从x向上找父亲节点fa(找fa用倍增),越往上找,点的温度必然越高,我们找最后一个温度在[l,r]范围内的fa,这样以fa原创 2021-08-15 11:35:59 · 322 阅读 · 0 评论 -
P1972 [SDOI2009]HH的项链
P1972 [SDOI2009]HH的项链题意:给你一个序列,问这个序列中的种类数n,m,ai<=1e6题解:三个方法:莫队(会超时),树状数组,主席树(会超时)莫队就是裸题,不讲了,复杂度O(n*sqrt(n))树状数组:对于若干个区间[l,r],如果他们的r都相等,那么项链中出现的同一个数字,一定只关心最右边的那一个。比如:1 3 4 5 1对于r=5的所有询问,第一个位置上的1是没有价值的,因为第五个位置已经出现1,也就是对于所有查询[L,5]区间来说,如果第一个1被算,那么原创 2021-08-12 10:57:11 · 155 阅读 · 0 评论 -
P4062 [Code+#1]Yazid 的新生舞会(线段树做法)
P4062 [Code+#1]Yazid 的新生舞会(线段树做法)题意:给你一个序列a[1…n],求存在绝对众数的子区间个数。绝对众数指:区间中出现次数最多的那个数,出现次数严格大于区间长度的一半。题解:这两个博客将的很长清楚明白(尤其是第一个),我在反复看了n遍后,终于明白。题目细节很多,我再怎么写也没这两个详细,干脆直接放上链接。Zechariah的博客OMG_wc 的博客关于题解中提到的三阶前缀和:三阶前缀和公式转换:图来自lx_tyin博客代码:#include <原创 2021-08-11 17:42:46 · 166 阅读 · 0 评论 -
cf1553F. Pairwise Modulo
cf1553F. Pairwise Modulo题意:给你一个数组a,a由n个不同的数组成,让你求出对应的数组p数组p的定义为:pk=∑1≤i,j≤kaimod ajp_{k}=\sum_{1\leq i,j\leq k}a_{i} \mod a_{j}pk=∑1≤i,j≤kaimodaj题解:官方题解首先我们需要拜托mod操作,一个常用公式:xmod y=x−y∗⌊xy⌋x \mod y = x - y * \lfloor \frac{x}{y} \rfloorxmody=x−原创 2021-08-10 17:58:54 · 183 阅读 · 0 评论 -
I - Triple HDU - 5517
I - Triple HDU - 5517题意:由多重集A和多重集B,<a,b>∈A,<c,d,e>∈B,集合C=A * B{<a,c,d>|<a,b>∈A,<c,d,e>∈B and b=e}。现在需要你求出有多少个<a,c,d>满足:不存在属于C的一个三元组<u,v,w>使得,u>=a,v>=c,w>=d,<u,v,w>!=<a,c,d>题解:C=A*B,<a,b原创 2021-06-14 15:24:02 · 184 阅读 · 0 评论