![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
莫队算法
btc_runes
没什么意思的人!
展开
-
HDU 4638 莫队+小思路
题目链接:Group 题意: 给n个人的编号,每个人都对应一个编号,规定i和i-1,i+1一个群集合,然后q个询问询问区间[l,r]有几个集合 题解: 用 vis[ ] 标记当前区间是要删除还是加入,如果当前区间要加入x,就判断当前区间存在vis[i+1]和vis[i-1]不存在,如果存在res--,如果不存在,肯定加入的是一个集合,如果只存在其中的一个,肯定不用加减,减的操作也一样,把当前...原创 2020-01-10 20:34:57 · 119 阅读 · 0 评论 -
莫队算法: [国家集训队]小Z的袜子 /【模板】莫队
[国家集训队]小Z的袜子 /【模板】莫队 学习算法,就是先要学习模板题,这到题就是我入门莫队的启蒙老师 题解: 先理解莫队的思想,排过序后的莫队,时间复杂度大大降低,那么我们目前只需要离线处理区间问题即可,这题询问区间中出现对数的数量,那么我们只需要在已知区间上进行加减操作就能得到当前区间的答案,这个统计概率,只要在求出增加的对数和减少的对数在区间加上,在区间减去即可 AC代码: #inc...原创 2020-01-10 13:15:05 · 185 阅读 · 0 评论 -
codeforces 617 E 莫队算法(求区间异或为k的数量)
莫队算法这么牛逼的一个算法,我决定把他学会,虽然目前我还对核心操作add(),sub()不太理解,但是我一定要把它肯出来,因为莫队对处理区间信息问题,真的是又快又牛批 题目链接:XOR and Favorite Number AC代码: #include<cstdio> #include<cstring> #include<cmath> #include&...原创 2020-01-10 11:28:34 · 266 阅读 · 0 评论 -
莫队算法/树状数组
题目链接:HH的相连 莫队算法: 利用莫队算法对区间询问,进行离线操作真的很方便,但是这题数据量有点大,做不了,听说数据加强了,但是还是利用莫队来搞一发,只有60分 TLE莫队代码: #include<bits/stdc++.h> using namespace std; //莫队算法 //求区间种类 const int maxn=1e6+1000; struct node { ...原创 2020-01-09 17:06:41 · 152 阅读 · 0 评论 -
莫队:求前缀和
莫队,离线操作,不断将区间逼近所求区间,加减贡献值即可 子段求和 AC代码: #include<bits/stdc++.h> using namespace std; //莫队算法 const int maxn=1e5+5; int pos[maxn],a[maxn],c[maxn]; long long ans[maxn],res; struct node { int l...原创 2020-01-09 12:05:22 · 266 阅读 · 0 评论 -
莫队算法:洛谷:2709
莫队入门板题: 对于离线操作可以利用莫队来写,利用分块思想,进行排序,将区间距离最小化,实现O(nsqrt(n))的时间复杂度,对于贡献值,如果区间需要就加上,如果区间不需要就减去 题目链接:小B的询问 AC代码: #include<bits/stdc++.h> using namespace std; //莫队算法 const int maxn=1e5+5; int pos[ma...原创 2020-01-09 11:34:41 · 175 阅读 · 0 评论