莫队算法
Neo__Z
这个作者很懒,什么都没留下…
展开
-
bzoj 2120 数颜色 【带修改莫队模板】
解题思路:带修改莫队模板题,注意与普通莫队的区别: 1.块的大小为n23n^{\frac{2}{3}}。 2.询问排序时以左端点所在块为第一关键字,以右端点所在块为第二关键字,最后一次的修改为第三关键字。#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #inclu原创 2017-10-30 20:57:04 · 304 阅读 · 0 评论 -
bzoj2038 小Z的袜子【莫队算法模板+详解】
解题思路:莫队出的模板题。如果我们知道了询问区间中每种颜色的数量cnticnt_i,那么一种颜色的贡献就是C2cntiC_{cnt_i}^2,总方案数是C2r−l+1C_{r-l+1}^2,每种颜色贡献求和再与总方案数求gcd即可。关键是如何快速统计区间内每种颜色的数量,这就要用到莫队算法。考虑建立两个指针l,r,表示区间[l,r]内每种颜色的数量已知。 再将询问离线,按询问左端点所在块(块大小为原创 2017-12-25 19:05:45 · 333 阅读 · 0 评论 -
bzoj3052 糖果公园【树上带修改莫队】
解题思路:传说中的b站毒瘤题,一交就引起民粪。 本来只是想做树上莫队模板bzoj3757苹果树的,结果题目下架了,只能上这道了…… 如果不会树分块的可以先去做做bzoj1086,题解在这里 不会带修改莫队的可以先去做做bzoj2120,题解在这里这里主要说一下正常无修改的树上莫队的做法。先树分块,将每个询问按左端点所在块为第一关键字,右端点dfs序为第二关键字排序,这样就保证了指针挪动复杂度(原创 2017-12-28 19:39:14 · 331 阅读 · 0 评论 -
bzoj5301: [Cqoi2018]异或序列【莫队】
传送门 解题思路: 莫队算法,记录异或前缀和及桶即可。 #include<bits/stdc++.h> #define ll long long using namespace std; int getint() { int i=0,f=1;char c; for(c=getchar();(c!='-')&&(c<'0'||c>'9')...原创 2018-05-04 16:02:21 · 225 阅读 · 0 评论