原题链接:小凯的书架
题目大意:
给你一个数组,让你求出数组中的每一个数的左边第K个大于它的数,如果没有输出-1 .
解题思路:
其实这题暴力可以写。。。当然只会暴力是没有前途的。
主席树+二分也可以写,但主席树没学。。
太菜了wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
对于本题来说主席树和树状数组的作用都是一样的:设查询区间为 l-r,数为x 快速返回区间比 x
大的数的个数
为什么可以二分呢?
二分答案位置,位置越向左比 x 大的数的个数就越可能大,位置越向右反之
数状数组如何去查询呢?
树状数组可以维护一个动态的前缀和,从大到小排序,依次按原始编号加入树状数组,这样就可以查询啦
代码
#include
#include
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!