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

随笔分类 -  其它——莫队

摘要:无摘要.. 阅读全文
posted @ 2019-04-12 08:26 SovietPower 阅读(302) 评论(0) 推荐(0) 编辑
摘要:莫队细节调到自闭... 阅读全文
posted @ 2019-02-25 22:37 SovietPower 阅读(155) 评论(0) 推荐(0) 编辑
摘要:给定长为n的序列Aiq次询问,每次给定l,r,求i=lrj=irmin{Ai,Ai+1,...,Aj}n,q105阅读全文
posted @ 2019-01-18 10:49 SovietPower 阅读(465) 评论(0) 推荐(0) 编辑
摘要:没别的意思就是我懒 阅读全文
posted @ 2018-12-06 10:23 SovietPower 阅读(1666) 评论(0) 推荐(0) 编辑
摘要:"BZOJ" "洛谷" 删掉的数即三个区间数的并,想到bitset;查多个区间的数,想到莫队。 考虑bitset的每一位如何对应每个数的不同出现次数。只要离散化后不去重,每次记录time就可以了。 但是如果对所有询问开一个bitset会MLE。但是我们可以开M个bitset,每次处理M次询问。 注意 阅读全文
posted @ 2018-09-11 21:30 SovietPower 阅读(212) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 这不就是个求区间众数的次数么,还不强制在线,值域分块与莫队都可做,用的莫队。 发现从区间减掉一个数,如果它是答案,好像很难处理? 但是答案要么不变要么就 1啊,记一下出现x次的有多少个数不就行了。 cpp //1630ms 6.86MB include include include 阅读全文
posted @ 2018-09-05 23:40 SovietPower 阅读(304) 评论(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 阅读(154) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 二维莫队,按x,y坐标一起分块.(x,y)的所属的块为 x/sq(n) sq(m) + y/sq(m) 排序时按照(左下点所在块,右上点的标号)排序 排序后 先得出一个询问的答案,然后利用上一个询问的矩形与当前矩形位置关系更新答案 转移真的麻烦。。为了避免算重 一定要加个vis[][] 阅读全文
posted @ 2018-02-28 08:09 SovietPower 阅读(689) 评论(0) 推荐(0) 编辑
摘要:"题目链接" Description 长度为n的数列,m次询问,每次询问一段区间最大的 Aitmi (重要度 出现次数) Solution 好像可以用莫队做,但是取max的操作普通莫队是不好撤销的(Subd部分) 于是可以用不带删除的莫队: 回滚莫队 询问依旧是按(左端点所在块,右 阅读全文
posted @ 2018-02-27 15:50 SovietPower 阅读(312) 评论(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 阅读(195) 评论(0) 推荐(1) 编辑
摘要:"题目链接" (同上一题苹果树) 为什么第10个点T了一晚上。。 下面那个却AC了?跑的也不慢。 TLE: cpp / 在DFS序做莫队 当一个点不是另一个点的LCA时,需要加上它们LCA的贡献 / include include include include define gc() getcha 阅读全文
posted @ 2018-02-27 07:37 SovietPower 阅读(176) 评论(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 阅读(162) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 带修改莫队: 普通莫队的扩展,依旧从[l,r,t]怎么转移到[l+1,r,t],[l,r+1,t],[l,r,t+1]去考虑 对于当前所在的区间维护一个vis[l~r]=1,在修改值时根据是否在当前区间内修改即可。 块大小取O(n23),排序依次按左端点所在 阅读全文
posted @ 2018-02-21 07:59 SovietPower 阅读(209) 评论(0) 推荐(1) 编辑
摘要:给定一个长为n的序列,每次查询区间中出现次数k1小的数里面的k2小的数。卡空间。 n,m40000阅读全文
posted @ 2018-02-20 21:49 SovietPower 阅读(328) 评论(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 阅读(158) 评论(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 阅读(165) 评论(0) 推荐(0) 编辑
摘要:题目链接: "COGS" 、 "BZOJ3236" Upd: 树状数组实现的是单点加 区间求和,采用值域分块可以O(1)修改O(sqrt(n))查询。同 "BZOJ3809" . 莫队为O(n1.5)次修改和O(n)次查询。 注意这两个需求并不平衡,所以在搭配数据结构时常使用分 阅读全文
posted @ 2018-02-09 13:30 SovietPower 阅读(229) 评论(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 阅读(163) 评论(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 阅读(231) 评论(4) 推荐(0) 编辑

点击右上角即可分享
微信分享提示