西湖是杭州的一张名片,也是中国的一个著名旅游胜地。其中的白堤更是西湖的一大亮点,它以其美丽的景色、浓郁的文化底蕴、独特的历史价值吸引着无数游客前来观赏。
白堤是西湖的一条人工堤,全长约—2公里,宽6米,建于公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元元元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元元元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公元公平的,因为每个元素都有可能被选中,而且每个元素被选中的概率相等。
对于这个问题,我们可以考虑用前缀和的思想,对于每个位置,我们可以记录它之前的所有元素的和,然后随机一个 $x$,二分出它在哪个区间内,然后返回这个区间的位置即可。
时间复杂度为 $O(n \log n)$。