随笔分类 - 分块
摘要:如果没有内存限制,显然树状数组就可以了。 有了内存限制,我们使用分块。 因为没有修改操作,所以可以每16个数分一个块。 时间复杂度O(16*n) 注意不要用using namespace std,会占用1M不到的内存 代码: 1 #include<cstdio> 2 #include<cstring
阅读全文
摘要:将序列分块。 令f[i][j]表示第i块到第j块的答案,可以O(n*sqrt(n))统计出来。 令sum[i][j]表示前i块值为j的数出现了几次。每次询问暴力统计零散的数对答案的贡献就可以了。 具体见代码 代码: 1 #include<iostream> 2 #include<cstdio> 3
阅读全文

浙公网安备 33010602011771号