莫队
Todobe
two funny foolish men
展开
-
莫队+分块 【2009国家集训队】小Z的袜子(hose) bzoj2038
莫队算法,听起来就很高端的样子啊,但其实还挺好理解的。 就是如果你查询的东西满足你已知[l,r]区间的答案,就能在很快的时间内知道[l+1,r],[l-1,r],[l,r+1],[l,r-1]这四个区间的答案,就可以用莫队搞。按照l第一关键字,r第二关键字排序,把所有的询问扫一遍,l是递增的,然后把r每次调到它该在的位置,统计答案,这样做时间复杂度上界是n^2的,有点接受无能啊……所以就可以用我怎原创 2017-01-11 15:54:12 · 486 阅读 · 0 评论 -
莫队+分块+树状数组 【Ahoi2013】 作业 bzoj3236
题目大意: 给定一个长度为n的序列,m个询问,询问一段区间内大于等于a小于等于b的数的个数和数值的个数。 n=1e5,m=1e6题目分析: 看到大于等于a小于等于b这个条件,我们可以想到用树状数组来维护区间内比每个数字小的数的个数(数值同理,判断一下就好惹),每次修改都是logn的,并且可以发现,在原有的序列中新加入或减去一个数字,只需要一次修改,也就符合了莫队算法需要的知道[l,r]的答案,原创 2017-01-12 09:08:06 · 390 阅读 · 0 评论 -
bzoj4241 历史研究 回滚莫队
题目大意: 有一个长度为n的序列。 有m个询问,每次询问l~r范围内每个数值乘以该数值出现次数的最大值。题目分析: 据说这题可以在线做?这题普通的莫队GG,因为不支持快速删除操作,但是支持快速加入一个值的操作,所以上回滚莫队就好了。回滚莫队可以把删除操作去掉,并且时间复杂度仍然保持在在O(nsqrtn)。分块和排序都按照正常莫队做法来,然后在统计答案的时候,如果一个询问的左端点和右端点在同一个原创 2017-07-06 15:27:30 · 800 阅读 · 0 评论