其中 c_i表示数字 i 在 [l,r] 中的出现次数。
小B请你帮助他回答询问。
输入格式
第一行三个整数 n,m,k。
第二行 n 个整数,表示 小B 的序列。...就是 18-7=11
于是, [3, 6]的答案就是[2,5]的答案减去a[2]加上a[6], 所以[3, 6]的答案是 18-8+4=14
其他区间以此类推
下面把上面的举例抽象化一下
?...(1), 最多不能超过O(log n), 不然莫队复杂度会原地爆炸....而且注意尽量将add、sub的复杂度控制在O(1)内.
显然,对于本题,需要开一个cnt数组维护各个数字出现的次数. 那么add、sub就很好写了....所以我们需要预先处理好**某些均匀分布在序列中的区间(称之为特征区间)**的答案,让这些特征区间成为莫队中的"上一个区间”, 然后在线回答询问的时候,让询问区间的答案从这些特征区间的答案转移过来而不是从上一个询问区间的答案转移过来