算法-莫队算法
Maxwei_wzj
AFO
展开
-
【BZOJ2038】小Z的袜子(2009国家集训队)-莫队算法
【BZOJ2038】小Z的袜子(2009国家集训队)-莫队算法原创 2017-04-24 17:45:14 · 459 阅读 · 0 评论 -
【SPOJ3267】D-query-莫队算法
【SPOJ3267】D-query-莫队算法原创 2017-04-25 09:39:04 · 595 阅读 · 0 评论 -
【HDU4676】Sum Of Gcd-莫队算法+欧拉函数
测试地址:Sum Of Gcd 题目大意:给定一个111~nnn的全排列AAA,若干个询问,每次询问给出一个区间[l,r][l,r][l,r],要求得出∑l≤i<j≤rgcd(Ai,Aj)∑l≤i<j≤rgcd(Ai,Aj)\sum_{l\le in=∑d|nφ(d)n=∑d|nφ(d)n=\sum_{d|n}\varphi(d) 那么有: ∑l≤i<j≤rgcd(Ai,A...原创 2018-02-23 17:44:38 · 296 阅读 · 0 评论 -
【BZOJ2120】数颜色-带修改莫队算法
测试地址:数颜色 做法:本题需要用到带修改莫队算法(虽然暴力好像可过……)。 在不带修改的莫队算法里,我们是将状态(l,r)(l,r)(l,r)向状态(l±1,r),(l,r±1)(l±1,r),(l,r±1)(l\pm 1,r),(l,r\pm 1)转移,而带修改的莫队算法就是在状态中加上一维lastlastlast,表示上一次修改操作的编号,然后状态转移变成将状态(l,r,last)(l,...原创 2018-02-23 19:12:44 · 229 阅读 · 0 评论 -
【BZOJ3289】Mato的文件管理-莫队算法+树状数组
测试地址:Mato的文件管理 做法:本题需要用到莫队算法+树状数组。 在想区间维护之前,首先要思考这个最小交换次数到底是个什么东西。实际上,答案就是这个区间中的逆序对数。我们现在证明一下这个结论。 我们知道排完序后逆序对数为000,而且只有这样的一个状态逆序对数才有可能为000,而其他状态都是有逆序对的。显然对于这些状态一定存在一个iii使得Ai>Ai+1Ai>Ai+1A_i>A...原创 2018-02-23 22:11:36 · 239 阅读 · 0 评论 -
【SPOJ10707】Count on a tree II-树上莫队算法
测试地址:Count on a tree II 题目大意:有一棵树,每个点有一个点权,多个询问,每次询问一条路径上有多少个不同的点权。 做法:本题需要用到树上莫队算法。 我们知道这题如果出在序列上就是莫队算法的裸题,而这题就是树上莫队算法的裸题。 我们知道要使用莫队算法,必须要将一条路径化为一个区间。从这个意义上来说,树上莫队算法的思想和树链剖分类似,都是将一棵树化为一个序列,但是树链剖分...原创 2018-02-24 10:54:59 · 331 阅读 · 0 评论 -
【BZOJ4540】序列(HNOI2016)-莫队算法+RMQ
测试地址:序列 做法:本题需要用到莫队算法+RMQ。 首先看到询问不强制在线,并且没有修改,显然非常莫队,那么就来到了这道题的难点:如何处理区间扩张或收缩时答案的变化。 我们发现往区间中增加或减少一个元素,实际上就是添加或减少以这个元素为开头或结尾的一些子段,显然左右是对称的,所以下面只考虑在区间右端增减元素的情况。我们令f(i,j)f(i,j)f(i,j)为添加子段[i,j],[i+1,j...原创 2018-05-01 19:35:00 · 174 阅读 · 0 评论 -
【BZOJ4241】历史研究-回滚莫队
测试地址:历史研究 做法:本题需要用到回滚莫队。 看到这道题目,感觉主席树、树套树这种都不能做,于是考虑离线的莫队算法。 然而我们很快发现一个问题:对于题目中要求的信息,由于在插入时,maxmax\max值要么不变,要么变成你目前插入的元素所对应的重要度,所以这个很容易完成。但是删除时就不一定了,你并不知道maxmax\max值此时会怎么变化。这就意味着我们不能用传统的莫队算法解决这一问题,...原创 2018-09-11 22:16:12 · 252 阅读 · 0 评论