莫队算法 莫队算法可用于解决一类可离线且在得到区间[l,r][l,r]的答案后,能在O(1)O(1)或O(log2n)O(log2?n)得到区间[l,r+1][l,r+1]或[l?1,r][l?1,r]的答案的问题 先看这样一个问题: 给出n个数字,m次询问,每次询问在区间[li,ri][li,ri ...
分类:
编程语言 时间:
2016-09-07 22:52:41
阅读次数:
262
2038: [2009国家集训队]小Z的袜子(hose) Description 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L 尽管 ...
分类:
编程语言 时间:
2016-09-07 22:22:07
阅读次数:
237
莫队算法,$dfs$序。 题目要求计算将每一条边删除之后分成的两棵树的颜色的交集中元素个数。 例如删除$u->v$,我们只需知道以$v$为$root$的子树中有多少种不同的颜色(记为$qq$),有多少种颜色达到了最多数量(记为$pp$),那么以$v$为$root$的子树与另一棵树的颜色交集中元素个数 ...
分类:
其他好文 时间:
2016-09-06 09:02:54
阅读次数:
187
1、题意:排序交换的次数就是逆序对的个数,所以就是求区间逆序对
2、分析:本蒟蒻太垃圾,不会在线做法,直接离线了,思考一下逆序对的求法,跑一边树状数组就好,那么我们使用莫队算法,每次转移的时候就按照这个点对答案的贡献,然后把贡献减掉就行了,时间复杂度O(nn√logn)O(n\sqrt{n}\log n)#include
#include
#include <cs...
分类:
其他好文 时间:
2016-08-22 15:02:10
阅读次数:
157
NPY and girls 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5145 莫队算法 注意到没有修改区间的操作,使用莫队算法:将整个区间分成若干个块,将询问区间按块优先升序排序,同块内按区间右界升序排序,添加一个元素,满足条件的值sum就变为s ...
分类:
其他好文 时间:
2016-08-14 11:45:09
阅读次数:
1523
莫队算法是离线处理一类区间不修改查询类问题的算法。 如果你在知道了[L,R]的答案时,可以在O(1)的时间下得到[L,R-1]和[L,R+1]和[L-1,R]和[L+1,R]的答案的话,就可以使用莫队算法。时间复杂度大概是O(n^1.5)。 莫队算法就是在知道一个区间的ans时,暴力的转移到所有的相 ...
分类:
编程语言 时间:
2016-08-07 15:28:09
阅读次数:
221
颓颓颓 题目大意:给你m个区间询问,询问区间内有多少个不相同的数以及存不存在一种数字组成的数列为等差间隔的数列。 解:离线询问,不相同的数其实是老做法了,但是巧妙的是数字是否为等差间隔。我们把询问按右区间排序,可知等差间隔必然是连续的一段,那么从当前枚举点往左,合法数列必然是连续的一段,那么我们用树 ...
分类:
编程语言 时间:
2016-08-06 11:21:04
阅读次数:
180
小Z的袜子(hose) Time Limit:20000MS Memory Limit:265216KB 64bit IO Format:%lld & %llu Submit Status Practice HYSBZ 2038 小Z的袜子(hose) Submit Status Practice ...
分类:
编程语言 时间:
2016-07-14 21:18:05
阅读次数:
225
简介莫涛大神创造出的离线询问算法的带修改版。
算法基础:需要掌握莫队算法,会打暴搜(暴力)。
一个叫莫的双端队列。
只支持单点修改操作方法普通的不带修改的莫队算法要把每个询问带上两个关键字排序,现在待修改的莫队算法要带上三个关键字排序。初始操作fo(i,1,m) {
scanf("%s%d%d",s,&k,&l);
if (s[0]=='Q')a[++tot]....
分类:
编程语言 时间:
2016-07-10 09:54:47
阅读次数:
196