前天,我们了解了一下一种叫做树状数组的神奇玩意儿,今天就放一道真题来检验一下自己的学习成果吧! 嗯,题目就是这样的啦. 分析: 这题的暴力大家应该都会打吧. 注意到m小的压批,所以对于每一个m值,我们可以用前缀和求出[1,i]这个区间内值为m的数的数量,然后在枚举每个区间,判断一下就OK了.这就是暴力,注意到时间复杂度为(n2m)的. 根据复杂度,我们可以知道,只要再优化掉一个n,或者把n优化成log,那么问题就解决了. 那么这个优化应该如何来进行呢? 我们可以先把数列进行重构:对于a[i]的每…