
莫队算法
文章平均质量分 69
PoPoQQQ
这个作者很懒,什么都没留下…
展开
-
BZOJ 3289 Mato的文件管理 莫队算法+树状数组
题目大意:给定一个序列,多次询问区间内逆序对的数量总算是明白城市旅行是如何RE的了……尼玛BZOJ坑爹 ostream输出流过大居然会RE!输出时顺手用了cout结果各种RE不止……原来是这样建议各位在死活RE就是找不到原因的时候检查一下是否大输出用了cout这题用莫队可以很简单搞掉 逆序对用树状数组就可以维护 一会去想想强制在线怎么搞#include #include #in原创 2014-11-13 19:53:36 · 1504 阅读 · 0 评论 -
BZOJ 2589 Spoj 10707 Count on a tree II 强制在线莫队算法(TLE)
题目大意:给定一棵树,每个节点有一个颜色,多次询问某条路径上颜色数量,强制在线正解是块状数组,强制在线莫队会TLE到死,想AC这道题的不用看了如果朴素的跑树上莫队其实并不难- - 但是强制在线因此我们可以考虑强制在线莫队算法将树分成O(n^1/3)块,每块大小O(n^2/3)记录每两块之间的答案、每种颜色的出现次数和哪些点被记录到了答案中每次查询先找到两端点所在块的端点的答原创 2015-01-16 16:19:39 · 4274 阅读 · 6 评论 -
BZOJ 3585 mex 莫队算法+分块
题目大意:给定一个长度为n的数组,m次询问某个区间内的mex值怒写莫队233将权值分成√n块,记录每个权值的出现次数以及每块内有多少权值出现过修改O(1)即可完成 查询时首先扫一遍找到第一个块内有没有覆盖的点的块 然后在块内暴力查找 时间复杂度O(√n)套个莫队 总时间复杂度O(m√n)#include #include #include #include #inclu原创 2015-02-01 22:48:03 · 3400 阅读 · 10 评论 -
BZOJ 3809 Gty的二逼妹子序列 莫队算法+分块
题目大意:给定一个序列,多次询问[l,r]区间内[a,b]范围内的数有多少内存28MB,树套树可以歇菜了首先普通的莫队+树状数组应该都能想到 这样做每次增加/删除一个点是O(logn)的 查询也是O(logn) 时间复杂度O(m√nlogn) 过(bu)不(hao)去(ka)考虑将树状数组 改成分块 这样虽然查询变成了O(√n) 但是修改变成了O(1)的这样就把时间复杂度降到了O(原创 2014-12-22 20:20:34 · 2736 阅读 · 0 评论 -
BZOJ 2038 2009国家集训队 小Z的袜子(hose) 莫队算法
题目大意:给定n个点,每个点有一个颜色,m次询问,每次询问一个区间内随机选出两个点颜色相同的概率是多少OTZ莫队算法……具体做法无论是分块还是曼哈顿最小生成树网上都讲解的很详细 我就不累述了这个题的做法是记录一个cnt数组表示当前区间内每种颜色有多少个加入一个颜色为x的点就ans+=cnt[x] 然后cnt[x]++减少一个颜色为x的点就cnt[x]-- 然后ans-=cnt[原创 2014-11-07 10:40:28 · 1935 阅读 · 7 评论 -
BZOJ 3781 小B的询问 莫队算法
题目大意:给定一个序列,多次询问某个区间中所有数字出现次数的平方和莫队算法 不解释#include #include #include #include #include #define M 50500using namespace std;struct query{ int l,r,pos; bool operator < (const query &Y)原创 2014-11-27 17:15:41 · 1736 阅读 · 0 评论 -
BZOJ 3052 WC2013 糖果公园 带修改树上莫队
题目大意:给定一棵树,每个点有一个颜色,提供两种操作:1.询问两点间路径上的Σv[a[i]]*w[k],其中a[i]代表这个点的颜色,k表示这个点是这种颜色第k次出现2.修改某个点的颜色VfleaKing的题解见 http://vfleaking.blog.163.com/blog/static/174807634201311011201627/带修改莫队上树……如果不带修改就正常原创 2014-11-27 13:02:58 · 3703 阅读 · 2 评论 -
BZOJ 3757 苹果树 树上莫队
题目大意:给定一棵树,每个节点有一个颜色,原创 2014-11-25 12:45:18 · 1937 阅读 · 0 评论 -
BZOJ 1878 SDOI2009 HH的项链 树状数组/莫队算法
题目大意:给定一个序列,求一个区间内有多少个不同的数正解是树状数组 将所有区间按照左端点排序 然后每次只统计左端点开始的每种颜色的第一个数就行了 用树状数组维护我写的是莫队算法 莫队明显能搞 m√m明显慢了点但是还是能接受的一个复杂度一开始离散化数组开小了各种秒RE…… 跪了#include#include#include#include#include#define M原创 2014-11-19 14:45:00 · 2001 阅读 · 0 评论 -
BZOJ 4129 Haruna’s Breakfast 带修改树上莫队+分块
题目大意:给定一棵树,每个点有一个非负点权,支持下列操作 1.修改某个点的点权 2.查询某条链上的mex 考虑链上不带修改的版本,我们可以用莫队来搞(链接戳这里) 现在到了树上带修改,果断糖果公园 本来抱着逗比的心态写了一发结果1.4s过了 跟糖果公园的80s完全不成正比啊0.0#include <cmath>#include <cstdio>#include <cstring>#原创 2015-06-12 15:12:27 · 2851 阅读 · 2 评论