K-th Number HDU - 6231(二分+尺取)
K-th Number HDU - 6231(二分+尺取)
原题链接
题意 :
给一个长度为 n 的数组 a ,把所有长度大于等于 k 的区间中的第 k 大值插入 b 数组中, 问 b 数组的第 m 大数是多少
思路 :
我们看答案只是一个数,所以考虑二分答案,我们每次二分出这个第M大的值为X,那么我们在原数组中尺取左右端点L,R,如果在[L,R]范围内大于这个X的数出现大于等于K个那么就意味着这右端点之后的每个区间它的第K大一定也会是大于X的(这里是重点),知道了这一点左右尺取范围内大于X的数等于K的区间
原创
2021-01-22 15:23:01 ·
70 阅读 ·
0 评论