Improve weighted random selection