莫队
Clove_unique
All that you have lost can be won back bit by bit as long as you wish for it.
展开
-
[BZOJ3809]Gty的二逼妹子序列(莫队+分块)
最潇洒的告别是永不回头地向前奔跑。原创 2016-04-26 23:17:49 · 804 阅读 · 2 评论 -
[BZOJ4129]Haruna’s Breakfast(树上带修改莫队+分块)
题目描述传送门题解树上带修改莫队的方法是裸题对吧。。 关键是怎么查询 一种比较好的方法是将权值分块,每一个块记录出现过了几个权值,然后可以做到O(1)O(1)修改;查询的时候暴力枚举权值没有全部出现的块,然后再在块内暴力找到第一个没出现的权值,所以是O(n√)O(\sqrt n)查询 这样的话需要将所有的权值离散,并且如果两个权值不相邻的话还需要再中间插入一个权值(较小的+1),并且还需要加入原创 2017-03-07 11:36:28 · 685 阅读 · 0 评论 -
[BZOJ3052][wc2013]糖果公园(树上带修改莫队)
题目描述传送门题解树上带修改莫队: 1、将树分块,然后离线并将修改和询问分开,对于询问的两个点,将dfs序较小的点作为左端点。 2、将询问排序,关键字为:左端点块的编号、右端点块的编号、最近的修改的时间 3、对于两个询问,转移方式是:将两个左端点的树链状态取反,将两个右端点的树链状态取反。注意取反操作都要刨除树链的lca,在查询的时候要先加上lca、然后查询、然后再减去。 然后这题就是道裸题原创 2017-03-07 11:32:59 · 938 阅读 · 0 评论 -
[BZOJ2120]数颜色(带修改莫队)
题目描述传送门题解和BZOJ2453相同,在这里可以看到分块的做法 而这道题同时又是一道带修莫队裸题 带修莫队大体方法如下: 1、将修改询问离线并分开,记录每一个修改之前最近的一次询问的编号 2、分块之后将区间排序,关键字为:左端点块的编号、右端点块的编号、记录的最近一次修改的编号 3、在查询每一次询问之前,判断当前做过的修改是否恰好是这次询问需要的修改,如果不够将其修改,修改多了的话恢复原创 2017-03-06 22:40:12 · 735 阅读 · 0 评论 -
[BZOJ3236][Ahoi2013]作业(莫队+分块)
题目描述传送门题解和Gty的二逼妹子序列那道题是一样的,只不过多加了一问而已 对权值分块,然后将区间离线之后莫队,每一次修改O(1)O(1),查询O(n√)O(\sqrt n)代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;原创 2017-02-21 09:23:18 · 598 阅读 · 0 评论 -
[HDU4638]Group(莫队)
攀上山峰 永不退缩 进入新的世界 永不落后原创 2016-04-26 19:58:28 · 745 阅读 · 0 评论 -
[BZOJ3289]Mato的文件管理(莫队+树状数组)
在幻想前激发你的渴望 刺激你的愤怒让它们变为现实原创 2016-04-26 17:04:54 · 707 阅读 · 0 评论 -
[Codeforces617E]XOR and Favorite Number(莫队)
题目描述传送门题解搞一下前缀和然后问题转化成[l-1,r]有多少对数xor为k 统计区间每一个数出现的个数,那么对于一个数i,有cnt[i^k]*cnt[i]对数xor为k 然后离线询问莫队修改就行了 但是需要注意k=0的时候要特殊处理,因为0 xor i=i,所以计数的时候要变成cnt[i]*(cnt[i-1])/2代码#include<algorithm>#include<iostrea原创 2017-02-21 08:40:07 · 496 阅读 · 0 评论 -
[BZOJ3781]小B的询问(莫队)
那到不了的场所 还是一样的遥远却只能祈祷自己能够将一切当成秘密原创 2016-04-26 15:26:30 · 687 阅读 · 0 评论 -
[Codeforces375D]Tree and Queries(莫队+分块)
题目描述传送门题解搞一个dfs序然后就变成了询问一坨区间 莫队 刚开始写了个bit结果tle 实际上写一个分块,维护块内和,然后O(1)O(1)修改O(n√)O(\sqrt n)查询就可以了 因为 ATP:修改次数非常多,能达到nn√n\sqrt n,但是查询次数不会超过mm代码#include<algorithm>#include<iostream>#include<cstring>原创 2017-02-21 07:35:23 · 617 阅读 · 0 评论 -
[Codeforces86D]Powerful array(莫队)
题目描述传送门题解裸莫队啊= = 但是卡常数 块的大小开到600 尽量用int然后强转 然后尽量避免数组寻址代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;#define LL long long#define N原创 2017-02-20 19:20:17 · 678 阅读 · 0 评论 -
[BZOJ2038][2009国家集训队]小Z的袜子(hose)(莫队)
娶了红玫瑰,久而久之,红的变了墙上的一抹蚊子血,白的还是“床前明月光”;娶了白玫瑰,白的便是衣服上的一粒饭粘子,红的却是心口上的一颗朱砂痣。原创 2016-02-23 20:24:04 · 795 阅读 · 0 评论 -
[BZOJ4542][Hnoi2016]大数(莫队+数学相关)
题目描述传送门题解设f(i)表示[i..n]组成的十进制数在模p意义下的值 那么f(i)-f(j)(j>i)就表示了[i..j-1]这一段区间表示的十进制数扩大10的若干幂次方之后在模p意义下的值 如果不考虑质数2和5的话,扩大10的若干幂次方是不应响结果的,因为剩余的质数都不是10的约数 那么如果要统计区间[l..r]有多少个子串满足是p的倍数的话,只需要统计f(l)..f(r+1)这些数中原创 2017-03-07 16:19:45 · 521 阅读 · 0 评论