通道:http://www.spoj.com/problems/SORTBIT/

题意:求[L,R]里的数按照二进制中1的个数升序排列,个数相同的按大小升序排列。求区间内第K个数

思路:容易想到,我们枚举包含1个1,2个1,3个1...这样下去 就能找到第K大的数包含几个1,然后二分K位置就好了。

代码:https://github.com/Mithril0rd/Rojo/blob/master/spojsortbit.cpp

TAG:神,神,神题。

转载于:https://www.cnblogs.com/Rojo/p/4066530.html

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐