P3730曼哈顿交易-莫队算法
题目
题目链接
题目大意:一个区间内有n个数字,有m个询问,每次询问一个区间。回答这个区间的第k大的热度值。
热度值定义:数字i的热度值为:这个区间内i的出现次数。
分析
正解前置知识
权值分块;莫队算法
首先暴力做法:对于每一个区间,暴力搜索出每个数字的出现次数,把出现次数push到一个数组里面,寻找到出现次数的第k大的数字。
优化一:权值分块
优化寻找第k大数字,可以采用权值分块的方法。
一共n个数字,因此热度值的取值范围是[0,n][0,n][0,n],所以把这个区间进行分块,维护每个块中
原创
2020-07-13 15:16:12 ·
208 阅读 ·
0 评论