失踪人口回归系列2333ios
放一个洛谷连接spa
当年学OI的时候仍是在bzoj上作这道题,困扰了当时只会高中几率知识的我好长时间。code
如今我学了概统了,能够吊锤这道题了!ci
设指望张数为\(X\),则答案为\(E(\frac{X+X^2}{2})=\frac{EX+EX^2}{2}\),须要计算\(EX\)和\(EX^2\)。get
考虑已经有k-1种不一样邮票,要买到第k种,就是有\(\frac{k-1}{n}\)的几率失败\(\frac{n-k+1}{n}\)的几率成功,是一个几何分布,因此可知\(X=X_1+X_2+…+X_n,\ X_k \sim G(\frac{n-k+1}{n})\)。it
对于几何分布\(X\sim G(p)\),有\(EX=\frac{1}{p}, \ var(X)=\frac{1-p}{p^2}\)io
因此,\[EX=E(\sum_{i=1}^n X_i) = \sum_{i=1}^n EX_i = n\sum_{i=1}^n \frac{1}{i}\]
\[ \begin{align*} EX^2 & = E(\sum X_i^2 + \sum_{i \neq j}X_i X_j) \\ &= \sum EX_i^2 + \sum_{i \neq j}E(X_i X_j)\\ &= \sum var(X_i)+(EX_i)^2 + \sum_{i \neq j}(EX_i)(E X_j)\\ &= \sum_{k=1}^n (\frac{2n^2}{k^2}-\frac{n}{k})+\sum_{i\neq j}\frac{n^2}{ij} \\ \end{align*} \]
(因为\(X_i, X_j, i\neq j\)独立,因此\(E(X_iX_j)=(EX_i)(EX_j)\)class
因此,\(ans = n^2\sum_{i=1}^n \sum_{j=i}^n \frac{1}{ij}\),完成了!stream
代码:im
#include <iostream> #include <cstdio> #include <algorithm> using namespace std; int n; int main() { cin >> n; double ans = 0, t = 0; for(int i=1; i<=n; i++) { t += 1.0/i; ans += 1.0/i * t; } ans *= n*n; printf("%.2f", ans); }