[探究] [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\) 张不同的邮票的期望花 ...
随机推荐
- [MFC]_在vs2019中使用MFC快速构建简单windows窗口程序
微软基础类库(英语: Classes,简称MFC)是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发 ...
- vue-cli安装以及创建一个简单的项目(二)(vuex使用、发行一个简单的app)
1.vuex的使用 vuex是vue的状态管理中心,vuex来保存我们需要管理的状态值,值一旦被修改,所有引用该值的地方就会自动更新,常用于: 1.多个视图依赖同一状态(l例:菜单导航) 2.来自不同 ...
- Entity Framework 6 中如何获取 EntityTypeConfiguration 的 Edm 信息?(五)
直接贴代码了: NewsInfo 实体类: public class NewsInfo { public int NewsInfoId { get; set; } public string News ...
- 2019-11-29-win10-uwp-列表模板选择器
原文:2019-11-29-win10-uwp-列表模板选择器 title author date CreateTime categories win10 uwp 列表模板选择器 lindexi 20 ...
- Asp.Net后台弹出确认提示窗Confirm
前端js代码: function MyConfirm(message, guid) { if (confirm(message) == true) { document.getElementById( ...
- qt 界面去掉系统边框2.0版
之前的一版存在bug.如果将鼠标放移动到界面内某个可点击的widget上(如:QPushButton)上,按住鼠标左键不放,界面可能会出现界面非预期移动的问题. 那是因为当鼠标移动到可点击的widge ...
- WPF数据模板(7)
数据模板常用在3种类型的控件, 下图形式: 1.Grid这种列表表格中修改Cell的数据格式, CellTemplate可以修改单元格的展示数据的方式. 2.针对列表类型的控件, 例如树形控件,下拉列 ...
- 前端之:js
JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECM ...
- JPA笔记2 OneToMany
package one_to_many; import java.util.HashSet; import java.util.Set; import javax.persistence.Cascad ...
- 关于Qt 静态成员函数调用信号
class globalCalcThread; extern globalCalcThread *g_calcThread; class globalCalcThread : public QThre ...