![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
莫队
文章平均质量分 72
Hexrt
南昌航空大学软件学院,ACMerRetired。
求知若渴,虚心若愚。
傲慢与偏见才是进步的最大阻碍。
展开
-
SP10707 COT2 - Count on a tree II【树上莫队】
SP10707 COT2 - Count on a tree II【树上莫队】 给定一颗无根树,求树上两点路径上的节点有多少不同的数字 可以离线 前提,能够通过某种操作,将树上路径问题,转化成区间问题 这样,类似于求区间不同数,区间众数,区间mex等操作就能通过莫队离线来做了原创 2021-08-29 17:44:46 · 119 阅读 · 0 评论 -
CF-940-F. Machine Learning【带修莫队】
传送门 维护区间数字出现次数的mexmexmex 要求修改,支持离线 分析 支持离线,考虑莫队 区间数字出现次数的mexmexmex 经典带修莫队 直接维护数字出现的次数 找mexmexmex的时候,可以直接暴力找 证明: 当最差的时候,每种次数都出现了一遍,且这个次数最高 也就是,1+2+3+4+...x=N1+2+3+4+... x = N1+2+3+4+...x=N此时x最高到 N\sqrt{N}N 找mexmexmex最差也就是N\sqrt{N}N,乘上莫队复杂度,可以过 如果信不过的话,可以使原创 2021-08-21 17:21:22 · 135 阅读 · 0 评论 -
P1903 [国家集训队]数颜色 / 维护队列【带修莫队】
维护区间不同的数,带修改,离线 传送门 分析 带修莫队,在原来莫队的基础上增加一维,时间维度 原来的简单莫队就是在区间 l∼rl \sim rl∼r,调整左右端点位置,现在还要调整时间的位置 不修改的区间不同数,另一题 SP3267 DQUERY - D-query【莫队】或【主席树】 有详细解释 建立在上面的基础上,我们增加一维 对每个询问增加一个维度ttt,表示询问前的最后一次修改的时间 我们在回答询问的时候一定要将前ttt次修改都执行完,才能得到正确的答案 参考代码 int l = 1, r = 0原创 2021-08-21 17:05:54 · 83 阅读 · 0 评论 -
P3709 大爷的字符串题【普通莫队】
传送门 给定一个长度为NNN的数组,求区间l∼rl \sim rl∼r任意排序后,最小严格递增序列的个数(=区间众数) 分析 就是求l∼rl \sim rl∼r 区间的众数,离线,不修改 考虑莫队 增加一个数,计数器删除原来次数的出现次数,更新现在的次数,更新答案 删除一个属,计数器更新原来的出现次数,跟新现在的次数,再跟新答案 void add(int x) { --same[cnt[arr[x]]]; ++same[++cnt[arr[x]]]; mo = max(mo, cnt[arr[x]])原创 2021-08-21 16:57:17 · 60 阅读 · 0 评论 -
CF-617-E. XOR and Favorite Number【普通莫队】
给定一个长度为NNN的数组,一个整数KKK,求区间l∼rl \sim rl∼r中有多少pair{i,j},i<=jpair\{i,j\},i<=jpair{i,j},i<=j,满足ai⊕ai+1⊕...⊕aj=Ka_i \oplus a_{i+1} \oplus ... \oplus a_j=Kai⊕ai+1⊕...⊕aj=K 传送门 分析 先考虑暴力 求 ai⊕ai+1⊕...⊕aja_i \oplus a_{i+1} \oplus ... \oplus a_jai⊕ai+1⊕原创 2021-08-21 16:31:04 · 69 阅读 · 0 评论 -
SP3267 DQUERY - D-query【莫队】或【主席树】
传送门 给定一个长度为NNN的数组,求区间 l∼rl \sim rl∼r 不同的数字 分析 对于此类后面出现会影响(覆盖)前面出现效果的问题 需要往当前位置左边最后一次出现位置思考 比如,mexmexmex 也是如此 这道题求 区间mex 也是同样处理 这种位置会覆盖前一个位置影响的,都考虑左边最近一个的位置 静态区间在线查询 MEXMEXMEX 主席树,维护最近值域出现的位置 在 rrr 树上二分找值域的出现位置小于 lll 的最小值 证明: 假如一个数xxx 在区间 l∼rl \sim rl∼r 出现原创 2021-08-21 16:01:17 · 79 阅读 · 0 评论 -
P4137 Rmq Problem / mex【权值线段树】【莫队】
传送门 给定长度为NNN的数组,求l∼rl \sim rl∼r 的mexmexmex(从0开始第一个没有在区间出现的数) 分析 这种位置会覆盖前一个位置影响的,都考虑左边最近一个的位置 静态区间在线查询 MEXMEXMEX 主席树,维护最近值域出现的位置 在 rrr 树上二分找值域的出现位置小于 lll 的最小值 证明: 假如一个数xxx 在区间 l∼rl \sim rl∼r 出现过,那么它在rrr数上对应值域的值,一定是大于等于lll的 推得,一个数在l∼rl \sim rl∼r区间出现过的条件是,在rr原创 2021-08-21 16:00:51 · 182 阅读 · 0 评论