小Hi有一枚神奇的硬币。已知第i次投掷这枚硬币时,正面向上的概率是Pi

现在小Hi想知道如果总共投掷N次,其中恰好M次正面向上的概率是多少。

Input

第一行包含两个整数N和M。

第二行包含N个实数P1, P2, ... PN

对于30%的数据,1 <= N <= 20

对于100%的数据,1 <= N <= 1000, 0 <= M <= N, 0 <= Pi <= 1

Output

输出一行一个实数表示恰好M次正面向上的概率。注意行末需要包含一个换行符'\n'。

输出与标准答案误差在0.001以内都被视为正确。

Sample Input

2 1
0.5 0.5

Sample Output

0.500000
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 #include<cmath>
 6 using namespace std;
 7
 8 int n,m;
 9 float p[1005];
10 float dp[1005][1005];
11 //x[i][j] 表示投掷i次,j次正面的概率; 概率dp
12
13 int main()
14 {
15     scanf("%d%d",&n,&m);
16     for(int i=1;i<=n;i++)
17         scanf("%f",&p[i]);
18
19     dp[0][0]=1;
20     for(int i=1;i<=n;i++)
21     {
22         for(int j=1;j<=m+1 ;j++)  //j<=m+1 多弄一次,在j-1=m的时候投不中正面
23         {
24             dp[i][j] += dp[i-1][j-1]*p[i];
25             //投掷i次j次正面+= 第i次投并且是正面
26             dp[i][j-1] += dp[i-1][j-1]*(1-p[i]);
27             //投掷i次j-1次正面+= 第i次投并且恰好不是正面
28         }
29     }
30     printf("%.6f\n",dp[n][m]);
31 }

2018-03-07

转载于:https://www.cnblogs.com/thunder-110/p/8526122.html

投掷硬币(概率dp)相关推荐

  1. 贝叶斯告诉你,投掷硬币概率可以是90%

    信贝爷, 得永生 开头先开个玩笑, 有人说"信贝爷, 得永生" 你是否理解此中真意? 贝爷是这位, 生前是个神父. 贝叶斯分析是整个机器学习的基础框架, 它的思想之深刻远出一般人所 ...

  2. 腾讯2019技术岗笔试 猜硬币 众所周知,每一枚硬币都有两面,假定投掷一枚硬币,得到正面和反面的概率是一样的。小Q有一天和好朋友在玩投掷硬币的游戏,他投了n枚硬币,已知至少有p正,q反,求n枚硬币

    众所周知,每一枚硬币都有两面,假定投掷一枚硬币,得到正面和反面的概率是一样的.小Q有一天和好朋友在玩投掷硬币的游戏,他投了n枚硬币,已知至少有p正,q反,求n枚硬币正面向上的期望是多少. 分析: 1. ...

  3. 骰子 (入门概率DP)

    [概率]骰子 时间限制: 1 Sec  内存限制: 128 MB 提交: 14  解决: 10 [提交] [状态] [讨论版] [命题人:admin] 题目描述 众所周知,骰子是一个六面分别刻有一到六 ...

  4. 命运年轮 -概率dp

      Time Limit:1000MS  Memory Limit:65536K Description  概率论的起源与赌博问题有关.16世纪,意大利的学者吉罗拉莫·卡尔达诺(Girolamo Ca ...

  5. 【原创】概率DP总结 by kuangbin

    概率DP主要用于求解期望.概率等题目. 转移方程有时候比较灵活. 一般求概率是正推,求期望是逆推.通过题目可以体会到这点. 首先先推荐几篇参考的论文: <信息学竞赛中概率问题求解初探> & ...

  6. 插头DP 概率DP / 期望DP

    插头DP && 概率DP / 期望DP 写在前面: 插头DP P5056 [模板]插头dp 手写哈希表的方法: 拉链法的代码如下: 开放寻址法的代码如下: 接下来是这道题的代码实现: ...

  7. (CCF202109-4)收集卡牌(概率DP)

    题目链接:计算机软件能力认证考试系统 小林在玩一个抽卡游戏,其中有 n 种不同的卡牌,编号为 1 到 n.每一次抽卡,她获得第 i 种卡牌的概率为 pi.如果这张卡牌之前已经获得过了,就会转化为一枚硬 ...

  8. 【matlab】小游戏:用MATLAB编程验证——投掷硬币那“0.5”

    投掷硬币那"0.5"         忙中偷闲,偶然想起小时候经常猜硬币,正反面,倒也是蛮有意思.         突发奇想用软件仿个真,也见识一下次数多到一定境界后的概率到底是什 ...

  9. 2018.09.01 poj3071Football(概率dp+二进制找规律)

    传送门 概率dp简单题. 设f[i][j]表示前i轮j获胜的概率. 如果j,k能够刚好在第i轮相遇,找规律可以发现j,k满足: (j−1)>>(i−1)(j−1)>>(i−1) ...

最新文章

  1. Linux下Tomcat重新启动
  2. 不用IIS运行ASP.Net网站
  3. R语言forestmodel包使用教程
  4. 文本怎么整体向左缩进_如何设置Word文档的左缩进或者右缩进呢?并在缩进区域输入文字...
  5. 自学linux指令分析-find
  6. 数据库表命名 单数复数_数据是还是数据是? “数据”一词是单数还是复数?
  7. dijikstra 旅行商问题_第27期:基于旅行商问题(TSP)的配送网络优化—R实现
  8. 微信小程序|area组件使用的地址数据文件plus
  9. Spring 声明式事务应该怎么学?
  10. class AT where T:new()相关知识点
  11. getBoundingClientRect()兼容性处理
  12. 制图折断线_制图规范
  13. dart语言和PHP,如何以Dart语言完全转储/打印变量到控制台?
  14. 【Codeforces】2015-2016 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2015) A Adjoin the Netwo
  15. Spec2Vec快速入门
  16. php 打开word显示无法打开文件,word无法打开文件,因为内容有误怎么办
  17. 微信小程序iphone11 wx.openBluetoothAdapter 返回状态10001 当前蓝牙适配器不可用
  18. 一分钟,华北科技学院会发生什么?
  19. 小飞升值记——(7)
  20. idcsystem源码php_全新IDC服务器主机财务系统源码

热门文章

  1. 用MATLAB进行余弦信号频谱分析
  2. L4自动驾驶公司降维做L2前装量产,前景如何?
  3. openstack(Dashboard)web界面
  4. 基于音频和文本的多模态语音情感识别(一篇极好的论文,值得一看哦!)
  5. springboot基于微信小程序的校园外卖系统毕业设计源码091024
  6. zuk z2刷机android p,zuk z2p 解锁详细步骤
  7. zuk z2 android 7.0,Lenovo 联想 ZUK Z2 PRO 尊享版ZUI 升级 2.5(基于安卓7.0)体验
  8. #HHD32F107# SPI通信
  9. 敏捷个人2012.2月份线下活动报道:活出我的最好生活
  10. 黄老板巡演票房连续走高 门票总收入接近三亿美元