收集邮票C++题目【概率期望DP+数学推导】

题意

Description

n n n 种不同的邮票,皮皮想收集所有种类的邮票。唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且 买到的邮票究竟是 n n n 种邮票中的哪一种是等概率的,概率均为 1 n \frac{1}{n} n1。但是由于凡凡也很喜欢邮票,所以皮皮购买第k 张邮票需要支付 k k k 元钱。现在皮皮手中没有邮票,皮皮想知道自己得到所有种类的邮票需要花费的钱数目的期望。

Format

Input

一行,一个数字 n n n

Output

要付出多少钱. 保留二位小数

Samples

输入数据 1

3

输出数据 1

21.25

1 ≤ n ≤ 1 0 4 1\leq n\leq 10^4 1n104

思路

这一道题目堪称牛逼,需要数学功底。

P ( x , i ) P(x,i) P(x,i) 表示买 x x x 次能从 i i i 种买到 n n n 种的概率

f i f_i fi 表示现在有 i i i 张,买到 n n n 张的期望。

那么有:
f i = ∑ x = 0 ∞ x × P ( x , i ) ⇔ f i = n − i n × f i + 1 + i n × f i + 1 ⇔ n × f i = ( n − i ) × f i + 1 + i × f i + n ⇔ ( n − i ) × f i = ( n − i ) × f i + 1 + n ⇔ f i = f i + 1 + n n − i . f_i=\sum_{x=0}^\infty x\times P(x,i)\\ \begin{align} &\Leftrightarrow f_i=\frac{n-i}{n}\times f_{i +1} + \frac{i}{n}\times f_i+1\\ &\Leftrightarrow n\times f_i=(n-i)\times f_{i+1}+i\times f_i+n\\ &\Leftrightarrow (n-i)\times f_i=(n-i)\times f_{i+1}+n\\ &\Leftrightarrow f_i=f_{i+1}+\frac{n}{n-i}. \end{align} fi=x=0x×P(x,i)fi=nni×fi+1+ni×fi+1n×fi=(ni)×fi+1+i×fi+n(ni)×fi=(ni)×fi+1+nfi=fi+1+nin.​<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值