欢迎光临散文网 会员登陆 & 注册

【洛谷题解/C++】AT_dp_j Sushi

2023-07-06 10:37 作者:jfmd_6p  | 我要投稿

忘记同步更进了

前置知识

什么是数学期望?

类似于加权平均,离散型随机变量的一切可能的取值 x_i 与对应的概率 p(x_i) 乘积之和称为该离散型随机变量的数学期望 E(x)

因此,E(x) 可表示为:

E(x)%3D%5Csum%5En_%7Bi%3D1%7Dx_ip(x_i)

分析

本题最大的特点是每个盘子中至多有 3 个寿司

如果有两个盘子都有 x 个寿司,那么它们就没有区别。

也就是说,无论这两个盘子排在哪里,最终输出的答案是一致的。无端联想排列组合。

因此,我们只需要关心不同寿司个数的盘子的数量,这些盘子的顺序对最终答案没有任何影响

实现

dpi%2Cj%2Ck 表示当当前寿司数为 1 的盘子有 i 个,寿司数为 2 的盘子有 j 个,寿司数为 3 的步数为 k 时,吃完全部所需的期望。

dp 方程如下:

dp_%7Bi%2Cj%2Ck%7D%3D%5Cfrac%7Bn%7D%7Bi%2Bj%2Bk%7D%2Bdp_%7Bi-1%2Cj%2Ck%7D%5Ctimes%5Cfrac%7Bi%7D%7Bi%2Bj%2Bk%7D%2Bdp_%7Bi%2B1%2Cj-1%2Ck%7D%5Ctimes%5Cfrac%7Bj%7D%7Bi%2Bj%2Bk%7D%2Bdp_%7Bi%2Cj%2B1%2Ck-1%7D%5Ctimes%5Cfrac%7Bk%7D%7Bi%2Bj%2Bk%7D

显然,维度 k 具有单调性,因此 k 需要放在循环外层。

Code


【洛谷题解/C++】AT_dp_j Sushi的评论 (共 条)

分享到微博请遵守国家法律