[探究] [Luogu4550]收集邮票的概率意义
自认为这道题是一道比较简单的扩展题……?此处采用了和别的题解思路不同的,纯概率意义上的解法。
首先考虑一个简化版问题:
每次随机一个\([1,n]\)的整数,问期望几次能凑出所有数
这东西我写过一个blog,现在copy过来:
考虑期望的线性性,就是\(E=\sum E(i)\),其中\(E\)为所求,\(E(i)\)为在已经取出\(i-1\)个数字时,取到第\(i\)个数字的期望。根据之前整理过的内容,“发生概率为\(p\)的事件,在期望\(\frac{1}{p}\)次之后会发生”,我们可以得到如下:
P(i)& =\frac{n-(i-1)}{n} \\
E(i)& =\frac{1}{P(i)}=\frac{n}{n-i+1}
\end{aligned}
\]
然后把他们加起来就是
\]
思路是自然的。然后考虑本题,需要给每次操作附加一个权值。所以本质上我们可以分开计算,\(g_i\)表示已经取出\(i-1\)个数字时,取到第\(i\)个数字的期望步数,\(f_i\)表示期望步数的cost。
考虑如何计算\(f_i\)。假设从一开始到拿完\(i\)进行了\(p\)次操作,这一次拿\(i\)需要\(q\)次操作,那么这\(q\)次操作的\(\rm \sum cost\)就是
\]
这个原理需要编一下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]收集邮票的概率意义的更多相关文章
- [Luogu4550] 收集邮票
题目描述 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n.但是由于凡凡也很喜欢邮票,所 ...
- 洛谷P4550 收集邮票(概率期望)
传送门 神仙题啊……这思路到底是怎么来的…… ps:本题是第$k$次买邮票需要$k$元,而不是买的邮票标号为$k$时花费$k$元 我们设$g[i]$表示现在有$i$张,要买到$n$张的期望张数,设$P ...
- 【BZOJ-1426】收集邮票 概率与期望DP
1426: 收集邮票 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 261 Solved: 209[Submit][Status][Discuss] ...
- 收集邮票 (概率dp)
收集邮票 (概率dp) 题目描述 有 \(n\) 种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是 \(n\) 种邮票中的哪一种是等概率 ...
- 【BZOJ1426】收集邮票 期望
[BZOJ1426]收集邮票 Description 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的, ...
- 嘴巴题7 BZOJ1426: 收集邮票
Time Limit: 1 Sec Memory Limit: 162 MB Submit: 546 Solved: 455 [Submit][Status][Discuss] Description ...
- P4550 收集邮票
P4550 收集邮票 题目描述 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n.但是由 ...
- Luogu P4550 收集邮票
题目链接:Click here Solution: 本题直接推价格似乎很难,考虑先从购买次数入手 设购买次数\(g(i)\)为当前有\(i\)种不同的邮票,要买到\(n\)种的期望购买次数 可以由期望 ...
- P4550 收集邮票 与 灵异的期望
考前复习一下期望相关知识,这题的期望还是很巧妙的. 设 \(f_{i}\) 表示已经买到了 \(i\) 张不同的邮票的期望步数,\(g_{i}\) 表示表示已经买到了 \(i\) 张不同的邮票的期望花 ...
随机推荐
- python免安装版(绿色版)制作
一.实验环境 1.Windows7x64_SP1 二.需求背景 个人编写了一个软件安装器,用于一键安装开发软件及工具,该工具基于python + pywinauto. 但问题来了,新电脑上未安装pyt ...
- 离线缓存 Visual Studio 2019 (VS2019)的方法
1. 下面是以管理员身份运行命令行: https://docs.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-en ...
- 【译】.NET Core 是 .NET 的未来
为什么要翻译咧,.NET 5 都宣布在 .NET Core 之后发布咯,何不再给 .NET Core 打打鸡血,我这个 .NET Core 的死忠粉. 原文:<.NET Core is the ...
- [Flutter] Windows桌面程序开发
在今年5月的谷歌I/O 2019大会时, 谷歌就宣布了flutter已经支持全平台开发, 包括 android, ios, mac, linux, windows, web 等 . Flutter桌面 ...
- 练手WPF(四)——贪吃蛇小游戏的简易实现(下)
八.生成新的单节蛇身我们这里先说说游戏小原理好了,游戏运行后,通过计时器事件不断生成新的单节蛇身类SnakeNode,添加到List中的0位置,原来的蛇头变成了第二节.该节新蛇头的坐标通过蛇头前进方向 ...
- CMake编译的VS工程,安装时遇到错误:error MSB3073: 命令“setlocal
错误提示 70>CMake Error at src/base/cmake_install.cmake:63 (file): 70> file INSTALL cannot find 70 ...
- 微信小程序 自定义顶部状态栏
1>项目的结构如下: 2>组件的index.wxml代码如下: <!--没有按钮的情况--> <view class="custom flex_center&q ...
- maven 学习---Maven依赖机制
在 Maven 依赖机制的帮助下自动下载所有必需的依赖库,并保持版本升级. 案例分析 让我们看一个案例研究,以了解它是如何工作的.假设你想使用 Log4j 作为项目的日志.这里你要做什么? 1.在传统 ...
- Qt背景不显示问题
背景不显示的只有主窗口会发生,原因是主窗口使用的QWidget类 解决办法 重构paintEvent事件,添加即可 void LoginWidget::paintEvent(QPaintEvent * ...
- spark2.4.2 源码编译
基于Maven的构建是Apache Spark的参考构建.使用Maven构建Spark需要Maven 3.5.4和Java 8.请注意,从Spark 2.2.0开始,对Java 7的支持已被删除. 包 ...