一个期望题
净是些“意识流”的胡扯……
题目描述
现在有
感(che)想( dan)
这道期望题,给人的感觉有些抽象。如果用太具体的方法去做,总会陷入一些麻烦之中。
考场上一直在想 Min-Max 容斥:先枚举最后剩余哪个集合,再枚举剩下多少个,然后再算出选的球的最晚出现时间,然后再转化成 Min……但是这是一个很有问题的做法。首先,在Min-Max容斥的过程中,我们没法保证在第一次应该停止的地方停下来,也就是说可能会做很多没必要的操作(其实正是本题的难点所在);其次,时间复杂度是
这道题实际上也不适合用 Min-Max 容斥做,因为 Min-Max 容斥往往用来求一些比较具体的东西,比如,比较明确的第几大……
正解
先考虑枚举最后剩余的哪个集合,设为
现在考虑DP,设
也就是在涂黑了
权值是
但是这样的话,相较于之前的 Min-Max容斥丝毫没有进步,因为,我们重复涂黑的是已经选中的,剩下没有涂黑的就 永远不会被涂黑。
但是,如果我们像我们所需要的那样,先钦定了
还是将新的期望变成更基础的新式:
概率的两部分中,前一个就是在除了
但是这样的DP还是不完备的,因为这会遇到一个问题:如果我们钦定的集合
代码
for (int i = 1; i <= n; ++i)
f[i] = (f[i-1] + n * inv(i,mod-2)) % mod;
for (int i = 1; i <= m; ++i)
Plus(ans, f[n-a[i]] - f[n] * (m-1) * inv(m));