自认为这道题是一道比较简单的扩展题……?此处采用了和别的题解思路不同的,纯概率意义上的解法。

首先考虑一个简化版问题:

每次随机一个\([1,n]\)的整数,问期望几次能凑出所有数

这东西我写过一个blog,现在copy过来:

考虑期望的线性性,就是\(E=\sum E(i)\),其中\(E\)为所求,\(E(i)\)为在已经取出\(i-1\)个数字时,取到第\(i\)个数字的期望。根据之前整理过的内容,“发生概率为\(p\)的事件,在期望\(\frac{1}{p}\)次之后会发生”,我们可以得到如下:

\[\begin{aligned}
P(i)& =\frac{n-(i-1)}{n} \\
E(i)& =\frac{1}{P(i)}=\frac{n}{n-i+1}
\end{aligned}
\]

然后把他们加起来就是

\[E=\sum\frac{n}{n-i+1}=\sum\frac{n}{i}
\]

思路是自然的。然后考虑本题,需要给每次操作附加一个权值。所以本质上我们可以分开计算,\(g_i\)表示已经取出\(i-1\)个数字时,取到第\(i\)个数字的期望步数,\(f_i\)表示期望步数的cost

考虑如何计算\(f_i\)。假设从一开始到拿完\(i\)进行了\(p\)次操作,这一次拿\(i\)需要\(q\)次操作,那么这\(q\)次操作的\(\rm \sum cost\)就是

\[(p-q)\cdot q+q^2=pq
\]

这个原理需要编一下233.

大概就是考虑前一半是不考虑这一次拿,之前拿的次数,是要算进当前ans里的。后半部分\(q^2\)则是这一次拿数对彼此产生的贡献。首先是进行了\(q\)个操作,那么每次的贡献呢?我们考虑\(q\)的意义,\(q\)是“拿数次数的期望”,而“期望”则是所有情况的平均拿数次数,[(平均次数\(\times\)个数)\(=\) 总次数 ],所以对彼此的贡献可以用\(q^2\)来刻画。

然后就递推一下就好:

	for (i = 1 ; i <= N ; ++ i)
n = 1.0 * N / (N - i + 1),
g[i] = g[i - 1] + n, f[i] = f[i - 1] + g[i] * n ;
printf("%.2f", f[N]) ;

[探究] [Luogu4550]收集邮票的概率意义的更多相关文章

  1. [Luogu4550] 收集邮票

    题目描述 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n.但是由于凡凡也很喜欢邮票,所 ...

  2. 洛谷P4550 收集邮票(概率期望)

    传送门 神仙题啊……这思路到底是怎么来的…… ps:本题是第$k$次买邮票需要$k$元,而不是买的邮票标号为$k$时花费$k$元 我们设$g[i]$表示现在有$i$张,要买到$n$张的期望张数,设$P ...

  3. 【BZOJ-1426】收集邮票 概率与期望DP

    1426: 收集邮票 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 261  Solved: 209[Submit][Status][Discuss] ...

  4. 收集邮票 (概率dp)

    收集邮票 (概率dp) 题目描述 有 \(n\) 种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是 \(n\) 种邮票中的哪一种是等概率 ...

  5. 【BZOJ1426】收集邮票 期望

    [BZOJ1426]收集邮票 Description 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的, ...

  6. 嘴巴题7 BZOJ1426: 收集邮票

    Time Limit: 1 Sec Memory Limit: 162 MB Submit: 546 Solved: 455 [Submit][Status][Discuss] Description ...

  7. P4550 收集邮票

    P4550 收集邮票 题目描述 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n.但是由 ...

  8. Luogu P4550 收集邮票

    题目链接:Click here Solution: 本题直接推价格似乎很难,考虑先从购买次数入手 设购买次数\(g(i)\)为当前有\(i\)种不同的邮票,要买到\(n\)种的期望购买次数 可以由期望 ...

  9. P4550 收集邮票 与 灵异的期望

    考前复习一下期望相关知识,这题的期望还是很巧妙的. 设 \(f_{i}\) 表示已经买到了 \(i\) 张不同的邮票的期望步数,\(g_{i}\) 表示表示已经买到了 \(i\) 张不同的邮票的期望花 ...

随机推荐

  1. python免安装版(绿色版)制作

    一.实验环境 1.Windows7x64_SP1 二.需求背景 个人编写了一个软件安装器,用于一键安装开发软件及工具,该工具基于python + pywinauto. 但问题来了,新电脑上未安装pyt ...

  2. 离线缓存 Visual Studio 2019 (VS2019)的方法

    1. 下面是以管理员身份运行命令行: https://docs.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-en ...

  3. 【译】.NET Core 是 .NET 的未来

    为什么要翻译咧,.NET 5 都宣布在 .NET Core 之后发布咯,何不再给 .NET Core 打打鸡血,我这个 .NET Core 的死忠粉. 原文:<.NET Core is the ...

  4. [Flutter] Windows桌面程序开发

    在今年5月的谷歌I/O 2019大会时, 谷歌就宣布了flutter已经支持全平台开发, 包括 android, ios, mac, linux, windows, web 等 . Flutter桌面 ...

  5. 练手WPF(四)——贪吃蛇小游戏的简易实现(下)

    八.生成新的单节蛇身我们这里先说说游戏小原理好了,游戏运行后,通过计时器事件不断生成新的单节蛇身类SnakeNode,添加到List中的0位置,原来的蛇头变成了第二节.该节新蛇头的坐标通过蛇头前进方向 ...

  6. CMake编译的VS工程,安装时遇到错误:error MSB3073: 命令“setlocal

    错误提示 70>CMake Error at src/base/cmake_install.cmake:63 (file): 70> file INSTALL cannot find 70 ...

  7. 微信小程序 自定义顶部状态栏

    1>项目的结构如下: 2>组件的index.wxml代码如下: <!--没有按钮的情况--> <view class="custom flex_center&q ...

  8. maven 学习---Maven依赖机制

    在 Maven 依赖机制的帮助下自动下载所有必需的依赖库,并保持版本升级. 案例分析 让我们看一个案例研究,以了解它是如何工作的.假设你想使用 Log4j 作为项目的日志.这里你要做什么? 1.在传统 ...

  9. Qt背景不显示问题

    背景不显示的只有主窗口会发生,原因是主窗口使用的QWidget类 解决办法 重构paintEvent事件,添加即可 void LoginWidget::paintEvent(QPaintEvent * ...

  10. spark2.4.2 源码编译

    基于Maven的构建是Apache Spark的参考构建.使用Maven构建Spark需要Maven 3.5.4和Java 8.请注意,从Spark 2.2.0开始,对Java 7的支持已被删除. 包 ...