博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

随笔分类 -  其它——莫队

摘要:无摘要.. 阅读全文
posted @ 2019-04-12 08:26 SovietPower 阅读(318) 评论(0) 推荐(0)
摘要:莫队细节调到自闭... 阅读全文
posted @ 2019-02-25 22:37 SovietPower 阅读(170) 评论(0) 推荐(0)
摘要:给定长为$n$的序列$A_i$。$q$次询问,每次给定$l,r$,求$\sum\limits_{i=l}^r\sum\limits_{j=i}^r\min\{A_i,A_{i+1},...,A_j\}$。 $n,q\leq10^5$。 阅读全文
posted @ 2019-01-18 10:49 SovietPower 阅读(478) 评论(0) 推荐(0)
摘要:没别的意思就是我懒 阅读全文
posted @ 2018-12-06 10:23 SovietPower 阅读(1681) 评论(0) 推荐(0)
摘要:"BZOJ" "洛谷" 删掉的数即三个区间数的并,想到bitset;查多个区间的数,想到莫队。 考虑bitset的每一位如何对应每个数的不同出现次数。只要离散化后不去重,每次记录time就可以了。 但是如果对所有询问开一个bitset会MLE。但是我们可以开M个bitset,每次处理M次询问。 注意 阅读全文
posted @ 2018-09-11 21:30 SovietPower 阅读(220) 评论(0) 推荐(0)
摘要:"题目链接" 这不就是个求区间众数的次数么,还不强制在线,值域分块与莫队都可做,用的莫队。 发现从区间减掉一个数,如果它是答案,好像很难处理? 但是答案要么不变要么就 1啊,记一下出现x次的有多少个数不就行了。 cpp //1630ms 6.86MB include include include 阅读全文
posted @ 2018-09-05 23:40 SovietPower 阅读(313) 评论(0) 推荐(0)
摘要:"题目链接 BZOJ" 当然哪都能交(都比在BZOJ交好),比如 "UOJ 58" cpp //67376kb 27280ms //树上莫队+带修改莫队 模板题 include include include include include // define gc() getchar() defi 阅读全文
posted @ 2018-07-28 20:00 SovietPower 阅读(164) 评论(0) 推荐(0)
摘要:"题目链接" 二维莫队,按x,y坐标一起分块.(x,y)的所属的块为 x/sq(n) sq(m) + y/sq(m) 排序时按照(左下点所在块,右上点的标号)排序 排序后 先得出一个询问的答案,然后利用上一个询问的矩形与当前矩形位置关系更新答案 转移真的麻烦。。为了避免算重 一定要加个vis[][] 阅读全文
posted @ 2018-02-28 08:09 SovietPower 阅读(722) 评论(0) 推荐(0)
摘要:"题目链接" $Description$ 长度为n的数列,m次询问,每次询问一段区间最大的 $A_i tm_i$ (重要度 出现次数) $Solution$ 好像可以用莫队做,但是取max的操作普通莫队是不好撤销的(Subd部分) 于是可以用不带删除的莫队: 回滚莫队 询问依旧是按(左端点所在块,右 阅读全文
posted @ 2018-02-27 15:50 SovietPower 阅读(340) 评论(0) 推荐(0)
摘要:"题目链接" 大数除法是很麻烦的,考虑能不能将其条件化简 一段区间[l,r]|p,即num[l,r]|p,类似前缀,记后缀suf[i]表示[i,n]的这段区间代表的数字 于是有 suf[l] suf[r+1]|p (suf[l] suf[r+1])%p = 0 suf[l] ≡suf[r+1] (m 阅读全文
posted @ 2018-02-27 11:08 SovietPower 阅读(207) 评论(0) 推荐(1)
摘要:"题目链接" (同上一题苹果树) 为什么第10个点T了一晚上。。 下面那个却AC了?跑的也不慢。 TLE: cpp / 在DFS序做莫队 当一个点不是另一个点的LCA时,需要加上它们LCA的贡献 / include include include include define gc() getcha 阅读全文
posted @ 2018-02-27 07:37 SovietPower 阅读(184) 评论(0) 推荐(0)
摘要:"题面链接" cpp / 代码正确性不保证。。(不过交了SPOJ没WA T了最后一个点) 在DFS序做莫队 当一个点不是另一个点的LCA时,需要加上它们LCA的贡献 / include include include include define gc() getchar() const int N 阅读全文
posted @ 2018-02-26 21:14 SovietPower 阅读(170) 评论(0) 推荐(0)
摘要:"题目链接" 带修改莫队: 普通莫队的扩展,依旧从[l,r,t]怎么转移到[l+1,r,t],[l,r+1,t],[l,r,t+1]去考虑 对于当前所在的区间维护一个vis[l~r]=1,在修改值时根据是否在当前区间内修改即可。 块大小取$O(n^{\frac{2}{3}})$,排序依次按左端点所在 阅读全文
posted @ 2018-02-21 07:59 SovietPower 阅读(218) 评论(0) 推荐(1)
摘要:给定一个长为$n$的序列,每次查询区间中出现次数$k1$小的数里面的$k2$小的数。卡空间。 $n,m\leq 40000$。 阅读全文
posted @ 2018-02-20 21:49 SovietPower 阅读(352) 评论(0) 推荐(0)
摘要:"题目链接" cpp / 数列的最大值保证 include include include using namespace std; const int N=5e4+5; int n,m,k,size,A[N],times[N]; long long ans[N],now; struct Ques 阅读全文
posted @ 2018-02-09 13:32 SovietPower 阅读(168) 评论(0) 推荐(0)
摘要:"题目链接 COGS" "BZOJ2120" "洛谷P1903" cpp / Add和Subd函数中的vis不能直接设为=1或=0 比如 l=1,r=0 l=3,r=5 时,[1,5]的vis标记全都是1 所以要进行取反 / include include include include using 阅读全文
posted @ 2018-02-09 13:31 SovietPower 阅读(176) 评论(0) 推荐(0)
摘要:题目链接: "COGS" 、 "BZOJ3236" Upd: 树状数组实现的是单点加 区间求和,采用值域分块可以$O(1)$修改$O(sqrt(n))$查询。同 "BZOJ3809" . 莫队为$O(n^{1.5})$次修改和$O(n)$次查询。 注意这两个需求并不平衡,所以在搭配数据结构时常使用分 阅读全文
posted @ 2018-02-09 13:30 SovietPower 阅读(236) 评论(0) 推荐(0)
摘要:"题目链接" cpp / 25832 kb 26964 ms 莫队+树状数组:增加/删除/查询 都是O(logn)的,总时间复杂度O(m sqrt(n) logn),卡不过 莫队+分块:这样查询虽然变成了sqrt(n),但是修改是O(1)的 考虑对权值进行分块 细节... / include inc 阅读全文
posted @ 2018-02-09 13:23 SovietPower 阅读(173) 评论(0) 推荐(1)
摘要:1.COGS.2039. 树的统计 思路: 各种方法。 代码: 1.遍历树1 时间 0.314 s 平均内存 2.96 MB 1 #include<cstdio> 2 using namespace std; 3 const int N=100005; 4 5 int n,Enum,cnt,H[N< 阅读全文
posted @ 2017-05-27 15:07 SovietPower 阅读(241) 评论(4) 推荐(0)