题目链接

戳我

\(Solution\)

我们首先转换一下问题:

假设我们进行了k轮得到了所有种类的邮票

则所花费用为:

\[(1+2+5+...+k)=\frac{(1+k)*k}{2}=\frac{k+k^2}{2}
\]

所以我们现在要求的就是\(\frac{k+k^2}{2}\)的期望

因为\(E(A+B)=E(A)+E(B)\)

所以\(E(k+k^2)=E(k)+E(k^2)\)

\(ps:\)平方的期望不等于期望的平方

所以我们要分别维护

设\(p1[i]\)为收集了\(i\)张邮票之后还要花费的次数的期望,\(p2[i]\)为收集了\(i\)张邮票之后还要花费的次数平方的期望

由于有\(\frac{i}{n}\)的概率拿到重复的,\(\frac{n-i}{n}\)的概率拿到不重复的。

可得\(p1\)的方程:

\[p1[i]=(p1[i]+1)*\frac{i}{n}+(p1[i+1]+1)*\frac{n-i}{n}
\]

将上方程可化简为:

\[p1[i]=p1[i+1]*\frac{n}{n-i}
\]

因为\(E((x+1)^2)=E(x^2+2x+1)=E(x^2)+E(2x)+E(1)=E(X^2)+2E(x)+1\)

\(p2\)的方程:

\[p2[i]=(p2[i]+2*p1[i]+1)*\frac{i}{n}+(p2[i+1]+p1[i+1]*2+1)*\frac{n-i}{n}
\]

化简为:

\[p2[i]=p2[i+1]+2*p1[i+1]+1+(2*p1[i]+1)*\frac{i}{n-i}
\]

最后答案为:

\[\frac{p1[0]+p2[0]}{2}
\]

\(Code\)

#include<bits/stdc++.h>
#define rg register
#define file(x) freopen(x".in","r",stdin);freopen(x".out","w",stdout);
using namespace std;
int read(){
int x=0,f=1;char c=getchar();
while(c<'0'||c>'9') f=(c=='-')?-1:1,c=getchar();
while(c>='0'&&c<='9') x=x*10+c-48,c=getchar();
return f*x;
}
double p1[10001],p2[10001];
int main(){
int n=read();
p2[n]=0;p1[n]=0;
for(int i=n-1;i>=0;i--)
p1[i]=p1[i+1]+n*1.0/(n-i),p2[i]=p2[i+1]+2*p1[i+1]+1+i*1.0/(n-i)*(2*p1[i]+1);
printf("%0.2lf",(p1[0]+p2[0])/2);
return 0;
}

「BZOJ1426」收集邮票的更多相关文章

  1. 【BZOJ1426】收集邮票 期望

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

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

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

  3. 【bzoj1426】收集邮票

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

  4. 【BZOJ1426】收集邮票 期望DP

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

  5. 【BZOJ1426】收集邮票 题解 (期望)

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

  6. 题解 洛谷P4550/BZOJ1426 【收集邮票】

    这显然是一道概率的题目(废话) 设发\(f[i]\)表示买到第\(i\)张邮票还需要购买的期望次数,\(g[i]\)表示买到第\(i\)张邮票还需要期望花费的钱. 那么答案显然为\(g[0]\),我们 ...

  7. 【BZOJ1426】收集邮票 概率DP 论文题 推公式题

    链接: #include <stdio.h> int main() { puts("转载请注明出处[辗转山河弋流歌 by 空灰冰魂]谢谢"); puts("网 ...

  8. 「LOJ#10042」「一本通 2.1 练习 8」收集雪花 (map

    题目描述 不同的雪花往往有不同的形状.在北方的同学想将雪花收集起来,作为礼物送给在南方的同学们.一共有 n 个时刻,给出每个时刻下落雪花的形状,用不同的整数表示不同的形状.在收集的过程中,同学们不希望 ...

  9. #10042. 「一本通 2.1 练习 8」收集雪花 || 离散化 || 双指针法 || C++ || LOJ

    题目:#10042. 「一本通 2.1 练习 8」收集雪花 看到网上没有这道题的题解,所以写一下. 要标记数字是否存在,看到x<=1e9,所以考虑用离散化,然后开一个last数组,last[i] ...

随机推荐

  1. Fatal error: Cannot use object of type PHPExcel_RichText as array

    Fatal error: Cannot use object of type PHPExcel_RichText as array 上传导入Excel的时候会出现此问题,问题的原因是Excel表格中有 ...

  2. JDK常用命令

    转自:https://www.cnblogs.com/saiQsai/p/10353044.html 1.jps 查看java进程,得到进程ID:7854 作用等同于:ps -ef | grep ja ...

  3. 26.OGNL与ValueStack(VS)-N语法top语法

    转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html N语法[0]:<s:property value="[0]& ...

  4. 横向文本框 cursor:pointer 出现手型

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. Spring cloud config-client 爬坑

    配置文件 找不到属性 Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'from' in st ...

  6. Linux 清除N天前的 日期文件夹(yyyy-MM-dd)

    本人碰到模糊目录移除,小记一下 1:准确目录情况  2:模糊目录情况 先来介绍准备目录情况 本人在网上找到的demo, 目录结构(在/root/zlogs) 脚本文件b.sh #!/bin/bash ...

  7. vlc相关命令行设置

    1:改变VLC模块参数   http://tianxiaoma.blog.51cto.com/1501174/309519 ====================================== ...

  8. javascript中defer的作用

    javascript中defer的作用 <script src="../CGI-bin/delscript.js" defer></script>中的def ...

  9. Apache Shiro学习-2-Apache Shiro Web Support

     Apache Shiro Web Support  1. 配置 将 Shiro 整合到 Web 应用中的最简单方式是在 web.xml 的 Servlet ContextListener 和 Fil ...

  10. react-native 组件的导入、导出

    一.前言背景: 学习react native的关键在于组件,依靠组件的拼接达到想要的效果,由此可见,组件就像一块块功能各异的零件,最终搭建出我们想要的效果. 今天我们就从组件的导入.导出开始 下面是我 ...