博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【HDU】4336 Card Collector
阅读量:7109 次
发布时间:2019-06-28

本文共 750 字,大约阅读时间需要 2 分钟。

题意:n张卡片,每一次取一个盒子,盒子里装有卡片i的概率是p[i],求得到所有卡片所需要开的盒子的期望数(n<=20)

#include 
#include
using namespace std;const int N=22;int n;double p[N], f[1<
=0; --s) { double up=1, down=0; for(int i=0; i

  

设$f[s]$表示当前得到状态为$s$的卡片还需要开的盒子的期望数:

考虑开一个箱子:

1、没有卡片,概率为:$1-\sum_{i} p[i]$;期望和为:$(1-\sum_{i} p[i])f[s]$ 

2、卡片$i$已经收集过了,概率为:$p[i]$;期望和为:$\sum_{i \in s} p[i]f[s]$

3、卡片$i$没有收集过,概率为:$p[i]$;期望和为:$\sum_{i \notin s} p[i]f[s \cup \{ i \}]$

所以

$$

\begin{align}
f[s]
& = (1-\sum_{i} p[i])f[s] + \sum_{i \in s} p[i]f[s] + \sum_{i \notin s} p[i]f[s \cup \{ i \}] \\
& = \frac{1 + \sum_{i \notin s} p[i]f[s \cup \{ i \}]}{\sum_{i \notin s} p[i]}
\end{align}
$$

然后还有注意,spj的话精度一定要注意啊,不要只输出了几位= =,最好多输出几位,你懂的...于是就wa了几发..

转载地址:http://pslhl.baihongyu.com/

你可能感兴趣的文章
Div和Span标签显示与隐藏
查看>>
highcharts 结合phantomjs纯后台生成图片
查看>>
Eclipse上GIT插件EGIT使用手册之十二_重置功能
查看>>
error: ‘for’ loop initial declarations are only allowed in C99 mode
查看>>
MySQL和Oracle开发差异
查看>>
DevExpress的安装方法与破解教程【转】
查看>>
判断浏览器类型的脚本
查看>>
手机市场硝烟弥漫,心系天下三星W2017价格上扬仍一机难求
查看>>
蔚来汽车更新招股书:IPO后李斌将拥有48%投票权
查看>>
快手成央视春晚官方合作伙伴 助力春晚传播
查看>>
春运服务“铁骑”返乡8年女交警:寒风中随车返乡孩子少了
查看>>
「Python」一文读懂装饰器
查看>>
TreeMap就这么简单【源码剖析】
查看>>
(?<=p)与:nth-child()的相似性分析
查看>>
携程内部海量CRN项目解决方案
查看>>
阿里云 MVP技术直播——缪政辉教你如何搭建万能LNMP环境
查看>>
深入理解工厂模式
查看>>
看得见的数据结构Android版之二分搜索树篇
查看>>
实现Treeset
查看>>
Android Jetpack 助推应用开发 | 中文字幕视频介绍
查看>>