莫队
L_0_Forever_LF
一个热爱OI的OIer
展开
-
BZOJ3052: [wc2013]糖果公园
学了一发带修改树上莫队,然后就发现这道题很简单了。 带修改的莫队:由原来的二维状态(l,r)(l,r)改为三维(l,r,x)(l,r,x),第三维度xx表示的是当前这个状态经过了xx次修改,按ll所在的块为第一关键字,rr所在的块为第二关键字,xx为第三关键字排序,设KK为块的数量,将l,rl,r所在块相同的情况视作同一组 那么对于同一组的情况,xx是单调递增的,xx的移动是O(n)O(n)的,原创 2016-11-10 16:19:20 · 1020 阅读 · 0 评论 -
BZOJ3207: 花神的嘲讽计划Ⅰ
最近不是很想写blog,但是不写的话很快就连自己做过什么都不记得了吧题意:一个序列,每次询问一段区间里含不含一个长度为K的子串,K的长度固定长度固定的话直接hash就好了呀,然后就变成问一段区间有没有一个数,嗯…..可以打线段树,莫队也不错 一开始hash用233还WA了,加了3个3就过了 莫队还是挺快的code(莫队):#include<set> #include<map> #include<原创 2016-11-13 16:10:36 · 864 阅读 · 0 评论 -
BZOJ1878: [SDOI2009]HH的项链
这题好多做法线段树树状数组树套树分块莫队什么的,然后果断打了莫队(懒得动脑子) 一开始时间以为过不了结果过去了转移的话维护每个位置前一个和后一个和它相同颜色的位置就行了code:#include<set> #include<map> #include<deque> #include<queue> #include<stack> #include<cmath> #include<ctime> #in原创 2016-12-13 17:05:45 · 797 阅读 · 0 评论 -
BZOJ3809: Gty的二逼妹子序列
空间这么小…然后就莫队了(不知道三维kd-tree能不能过) 本来想打BIT,结果发现过不了的样子,因为修改比较多,询问比较少,所以可以考虑平衡复杂度,用分块维护(修改O(1),询问O(n√\sqrt n))code:#include<set> #include<map> #include<deque> #include<queue> #include<stack> #include<cmath>原创 2017-03-18 09:07:12 · 576 阅读 · 0 评论 -
BZOJ3781: 小B的询问
(A+1)2=A2+2A+1(A+1)^2=A^2+2A+1 裸的莫队code:#include<set> #include<map> #include<deque> #include<queue> #include<stack> #include<cmath> #include<ctime> #include<bitset> #include<string> #include<vector> #原创 2017-04-11 19:59:43 · 307 阅读 · 0 评论 -
BZOJ3289: Mato的文件管理
每次询问区间[l,r]内相邻交换,排好序的最小交换次数 这个东西等于区间内的逆序对数 然后用莫队就行了,树状数组每次O(logn)O(logn)求出区间内比这个数大或小的数 总复杂度O(nn√logn)O(n\sqrt nlogn) code:#include<set> #include<map> #include<deque> #include<queue> #include<stack>原创 2017-04-26 07:24:33 · 1019 阅读 · 0 评论