牛客挑战赛50B

Random eat Cake

对于一个数n,可以拆分成若干序列
例如:
\(n=3\),可以生成序列\({\{1,1,1\},\{1,2\},\{2,1\},\{3\}}\),每种序列生成的概率为\(\frac{1}{4}\)​。
每一个出现的数x会贡献\(\frac{1}{x!}\)

求期望

这个题好像是湖南文理学院的金牌爷出的。爷是猛,但似乎 这题解写的确实有点...

先通过挡板法得到,n块序列的数量。
我的想法是:
该问题等价于:
\(x_1+x_2+...+x_k = n (1<=k<=n)\)的正整数解的个数。
对于每一个k的解可以用挡板法在\(n-1\)个空插入k个挡板即\(\tbinom{n-1}{k}\)
最终答案就是:
\(\sum_{k=1}^{n-1}\tbinom{n-1}{k}\)
也就是\(2^{n-1}\)中方案。
我们将其定义为 g(0)。
现在计算每一个数X出现的概率:
这个问题其实很简单,但是开始看出题人巨巨的题解看了好久...
巨巨的意思是,枚举x左边和右边的情况。
从左边只有0个数,右边n-k个数开始,这个时候就是g(0)g(n-k)。
之后就是左边只有1个数,右边n-k-1个数,g(1)
g(n-k-1)
最后得到的公式
\(p(k) = \sum_{i=k}^n\frac{g(i-k)g(n-i)}{g(n)}\)

最后就是计算对应的期望了

https://ac.nowcoder.com/acm/contest/11190/B

posted @ 2021-05-15 17:02  Paranoid5  阅读(55)  评论(0编辑  收藏  举报