标签:
如果不是在线,就是裸的莫队。
但这道题要求在线,然后就不会了。。
标程:
http://hi.baidu.com/__vani/item/ecc63f3527395283c2cf2945
算法主要是分块,然后处理处f[i][j]从第i块到第j块这个块区间的信息。
第一个算法的思想是每个块区间除了维护答案,还记录了该块区间中每个数的个数,这样可以快速添加增加一个数到该区间,所以他查询的时候就是找到查询区间的完整的块,然后向左右扩展,记录下答案,再撤销修改。设块的长度为L,则时间复杂度为:O(m*n+n*n*n/L/L),L=n1/3时最小。
第二个算法不需要记下每个块区间中每个数出现次数,只记下众数及出现次数,查询时,因为可能的答案是查询区间包含的块区间的众数以及两端不在块区间的数,至于两边的数,可以枚举判断它是否可能是众数。O(m*n0.5*logn)
标签:
原文地址:http://www.cnblogs.com/idy002/p/4298696.html