数据结构
文章平均质量分 56
qq_35880977
这个作者很懒,什么都没留下…
展开
-
51nod1617(codeforces117D)奇偶数组
题目大意a是一个包含n个元素的数组。对a中的元素进行1-n编号。 定义“偶数组” even, evenieven_{i}=a2ia_{2i}(1≤2i≤n) ,即“偶数组” even是由数组a中编号为偶数的元素组成的。 定义“奇数组” odd, oddiodd_{i}=a2i−1a_{2i−1}(1≤2i−1≤n) ,即“奇数组”odd是由数组a中编号为奇数的元素组成的。然后,我们定义一个转换方原创 2017-09-28 16:53:46 · 224 阅读 · 0 评论 -
BZOJ3196 二逼平衡树(线段树套线段树)
题目大意一种数据结构,维护一个有序数列,其中需要提供以下操作: 1.查询k在区间内的排名 2.查询区间内排名为k的值 3.修改某一位值上的数值 4.查询k在区间内的前驱(前驱定义为小于x,且最大的数) 5.查询k在区间内的后继(后继定义为大于x,且最小的数)Solution查询k在的排名,k的前驱,后继,能马上想到用平衡树维护。而因为是在区间中询问的,所以要用到树套树。外层维护一棵线段树,原创 2017-12-19 20:09:24 · 484 阅读 · 0 评论 -
BZOJ2819 Nim
题目大意给定一棵树,有两种操作。 1 u v 询问若在v到u间的路径上的石子堆中玩Nim游戏,先手是否有必胜策略。 2 v k 将v节点上的石子个数改为k 请输出所有询问的答案(Yes/No)Sample Input5 1 3 5 2 5 1 5 3 5 2 5 1 4 6 Q 1 2 Q 3 5 C 3 7 Q 1 2 Q 2 4 Q 5 3Sample Output原创 2017-12-13 18:43:00 · 203 阅读 · 0 评论 -
POJ3667 Hotel
题目大意有n个本来为空的房间,有两种操作。 1:找到最左边连续长为l的一段,并占有它们。 2:将l到r区间置为空。Solution我们可以用线段树维护一段区间内最多连续的空房间数。但只记下这个答案,是无法把两个区间合并的。而只要多记下这个区间从左开始连续空房间数,从右开始连续空房间数,就能把两个区间合并了。询问时,我们可以在左右子树中分别寻找答案。但还要多考虑一种答案在两棵子树中的情况,这个答案原创 2017-12-18 17:57:01 · 89 阅读 · 0 评论 -
[BZOJ5110]Yazid 的新生舞会
题目大意有一个长度为n的序列A,下标从1至n。显然地,这个序列共有n(n+1)2\frac{n(n+1)}{2}个子区间。问有多少个子区间[l,r],对于这个子区间[l,r],如果该子区间内的众数在该子区间的出现次数严格大于r−l+12\frac{r-l+1}{2}(即该子区间长度的一半)。Solution对于序列中的每一种数分别考虑。对于每一种数x,如果有数组a,a[i]=1表示下标为i的位置上是原创 2018-03-06 12:23:20 · 387 阅读 · 0 评论