随笔分类 -  莫队

摘要:容易想到区间转化成前缀和。这样每个询问有了二维坐标,莫队即可。 阅读全文
posted @ 2018-12-04 13:19 Gloid 阅读(168) 评论(0) 推荐(0)
摘要:容易发现要求三个区间各数出现次数的最小值。考虑bitset,不去重离散化后and一发就可以了。于是莫队求出每个区间的bitset。注意空间开不下,做多次即可。输出的东西错了都能调一年服了我了。 阅读全文
posted @ 2018-12-01 23:24 Gloid 阅读(157) 评论(0) 推荐(0)
摘要:显然能重排为回文串相当于出现次数为奇数的字母不超过一个。考虑莫队,问题在于如何统计添加/删除一位的贡献。将各字母出现次数奇偶性看做二进制数,做一个前缀和一个后缀和。在右端添加一位时,更新区间的前缀、后缀集合,将后缀集合中合法的统计入答案即可。另三种更新类似。复杂度O(26*n√n)。 但是这个毒瘤题 阅读全文
posted @ 2018-11-25 15:11 Gloid 阅读(202) 评论(0) 推荐(0)
摘要:多组询问不强制在线,那么考虑莫队。bitset维护当前区间出现了哪些数,数组记录每个数的出现次数以维护bitset。对于乘法,显然应有一个根号范围内的因子,暴力枚举即可。对于减法,a[i]-a[j]=x移项得a[i]-x=a[j],可以让bitset大力右移取and。对于加法,a[i]+a[j]=x 阅读全文
posted @ 2018-11-19 21:43 Gloid 阅读(176) 评论(0) 推荐(0)
摘要:考虑边只有一种权值的简化情况。那么当且仅当两点可以通过边权<=x的边连通,且连通块内最大边权为x时,两点间存在路径max为x的路径。可以发现两种权值是类似的,当且仅当两点可以通过边权1<=x且边权2<=y的边连通,且连通块内最大边权1为x、最大边权2为y时,两点间存在路径max为(x,y)的路径。 阅读全文
posted @ 2018-11-02 18:00 Gloid 阅读(206) 评论(0) 推荐(0)
摘要:如果分块的话与区间众数没有本质区别。这里考虑莫队。 显然莫队时的删除可以用堆维护,但多了一个log不太跑得过。 有一种叫回滚莫队的trick,可以将问题变为只有加入操作。按莫队时分的块依次处理,一块中左端点的差不超过√n,右端点单调递增。首先将右端点也在该块中的询问暴力处理。然后令指针l在下一块开头 阅读全文
posted @ 2018-10-22 21:26 Gloid 阅读(181) 评论(0) 推荐(0)
摘要:这个做法非常显然。 当然也可以分块。预处理出块内答案和两块间答案,块外主席树查询。 阅读全文
posted @ 2018-09-19 23:19 Gloid 阅读(123) 评论(0) 推荐(0)