随机化
随机化题的难点通常不在代码,而在「为什么每个结果的概率真的相等」。代码往往只有十来行,写错一个下标范围,分布就悄悄歪掉,样例还照样能过——判题器至多做统计检验,样例过了不代表分布对,自己肉眼更看不出来。所以这类题我的习惯是:先拿 n = 2、3 这种小数把概率一项项乘出来,乘对了再写代码。
本合集收录随机化类题目:$O(1)$ 增删 + 随机取(380、381)、按权重随机(528)、链表随机节点 / 蓄水池(382、398)、洗牌(384)、用 rand7 造 rand10(470)等题型。先放一节 Python 随机数速查模板,题目小节随训练进度补上。