链接:

文章目录

  • 题目描述
  • 题意
  • 题解:
  • 代码
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld

题目描述

你在打比赛,这场比赛总共有12个题

对于第i个题,你的队伍有a[i]的几率解决她

如果解决不了她呢?

由于所有人讨论的都很大声

所以你有b[i]的概率从左边那个队那里听会这个题的做法

有c[i]的概率从右边那个队那里听会这个题的做法

请问最终你们队伍解出0-12题的概率分别是多少

输入描述:

第一行12个数表示a[1] -> a[12] 第二行12个数表示b[1] -> b[12] 第三行12个数表示c[1] -> c[12]

输出描述:
输出13行,第i行表示解出i-1题的概率
保留6位小数
示例1
输入
复制

0.20 0.30 0.37 0.40 0.45 0.50 0.57 0.60 0.75 0.76 0.77 0.83
0.85 0.88 0.90 0.94 0.100 0.104 0.105 0.107 0.115 0.120 0.122 0.125
0.128 0.130 0.134 0.140 0.149 0.150 0.152 0.155 0.170 0.183 0.203 0.240

输出
复制

0.000000
0.000000
0.000000
0.000011
0.000160
0.001508
0.009620
0.041938
0.124153
0.243773
0.301960
0.212453
0.064424

题意

一开始看题目有点懵,12个题咋输出十三个答案,后来才反应过来,第i行表示解出i-1题的概率,意思是把做出0~12个题的概率依次输出,我原以为是第4题的概率
样例中前三个都是0.000000,并不是概率为0,而是保留6位小数,后面省略了

题解:

求第i题做出的概率可以正着求也可以逆着,逆着方便,先求做不出的概率,也就是q = ( 1 -a [ i ] ) *( 1 -b [ i ] ) * ( 1- c [ i ] ) ,(第i题我不会,左边也没听到,右边也没听到),做对的概率就是p= 1 - q
然后求 第i行表示解出i-1题的概率,典型的dp递推
dp[i][j]表示前i个问题,咱做出j个题的概率
由第i-1个题地推过来,第i个题有可能做对,有可能做错,加上对应的概率
dp[i][j]=dp[i-1][j](第i题没对)+dp[i-1][j-1](第i题对了)
确保都是对了j个题

初始化dp[0][0]=1(你一个题都没做当然都错了,所以错的概率是1)

代码

#include<bits/stdc++.h>
#define forr(n) for(int i=1;i<=n;i++)
using namespace std;
const int maxn=15;
double a[maxn],b[maxn],c[maxn];
double dp[maxn][maxn];
double q[maxn],p[maxn];
int main(){forr(12) cin>>a[i];forr(12) cin>>b[i];forr(12) cin>>c[i];dp[0][0]=1;//初始化forr(12)q[i]= (1-a[i])*(1-b[i])*(1-c[i]);//失败概率 forr(12)p[i]=1-q[i];//成功概率 forr(12){dp[i][0]=dp[i-1][0]*q[i];for(int j=1;j<=i;j++){dp[i][j]=dp[i-1][j-1]*p[i]+dp[i-1][j]*q[i];}}for(int i=0;i<=12;i++) printf("%.6f\n",dp[12][i]);return 0;
}/*0.20 0.30 0.37 0.40 0.45 0.50 0.57 0.60 0.75 0.76 0.77 0.83
0.85 0.88 0.90 0.94 0.100 0.104 0.105 0.107 0.115 0.120 0.122 0.125
0.128 0.130 0.134 0.140 0.149 0.150 0.152 0.155 0.170 0.183 0.203 0.240*/

牛客网【每日一题】5月19日题目精讲 比赛相关推荐

  1. 牛客网 每日一题 7月23日题目精讲—wpy的请求

    来源:牛客网: 文章目录 wpy的请求 题解: 代码: wpy的请求 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K Special Judge ...

  2. 【牛客每日一题】tokitsukaze and Soldier 题目精讲 贪心、优先队列、堆

    链接:https://ac.nowcoder.com/acm/problem/50439 来源:牛客网 ACM在线模板 今天才发现牛客推出了一个每日一题的版块,3月25号就开始了,今天才发现,赶紧补救 ...

  3. 【每日一题】8月28日题目精讲 编号

    [每日一题]8月28日题目精讲 编号 链接:https://ac.nowcoder.com/acm/problem/19925 来源:牛客网 题目描述 你需要给一批商品编号,其中每个编号都是一个7位1 ...

  4. 【每日一题】7月17日题目精讲—BOWL 碗的叠放

    [每日一题]7月17日题目精讲-BOWL 碗的叠放 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld ...

  5. 【每日一题】7月15日题目精讲—生日快乐

    [每日一题]7月15日题目精讲-生日快乐 [SCOI2009]生日快乐 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO For ...

  6. 【每日一题】7月13日题目精讲—Kingdom

    [每日一题]7月13日题目精讲-Kingdom 文章目录 题目描述 题解: 代码: 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 1048576K,其他语言2097152K 64bi ...

  7. 牛客网【每日一题】4月14日题目精讲 Xorto

    文章目录 题目描述 题解: 代码: 扩展 传送 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format:%lld 题目描述 ...

  8. 牛客网 【每日一题】8月5日题目精讲—蓝魔法师

    来源:牛客网: 文章目录 题目描述 题解: 代码: 题目描述 "你,你认错人了.我真的,真的不是食人魔."–蓝魔法师 给出一棵树,求有多少种删边方案,使得删后的图每个连通块大小小于 ...

  9. 牛客网【每日一题】7月31日题目精讲—兔子的区间密码

    来源:牛客网 : 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 文章目录 题目描述 题解: 代码: 题 ...

最新文章

  1. 镜像save保存和镜像重命名tag
  2. 也许是被忽略的update语句
  3. [2dPIC调试笔记]输入参数归一化1014(1)
  4. OpenCV特征描述Feature Description
  5. C 语言高效编程与代码优化
  6. 11个笑话让你领悟人生
  7. 基于sqlite数据库的C语言编程
  8. Java微信开发_00_资源汇总贴
  9. 低代码能做什么?这家服务商用钉钉宜搭打造了智慧医院管理应用
  10. DotNET:LINQ对泛型(Generic)操作和泛型方法及属性
  11. 如何在ADO中使用数据读取器(DataReader)读取数据
  12. html 音乐代码生成器,在线自动生成音乐播放器
  13. 《暗黑破坏神2》关于d2loader的使用说明
  14. Flash 3D之旋转文字
  15. 大数据学习入门到实战教程,精心整理万字长文入门第一章,老奶奶看了都说学会了
  16. vue3 - composition api
  17. STC12C5A60S2自带A/D转换器的使用
  18. PayPal和Payssion有什么差别?
  19. 好用的浏览器,与Google Chrome同内核
  20. 脑电分析系列[MNE-Python-20]| 脑电图处理和事件相关电位(ERP)

热门文章

  1. 轮子,辛苦你了。 | 今日最佳
  2. 源码分享,送你一份Google Python class源码
  3. 程序员必知的 Python 陷阱与缺陷列表
  4. 00截断上传绕过_小谈截断上传漏洞
  5. mysql 堆叠查询_SQL 注入方法 - 盲注、报错注入、UNION查询注入与堆叠注入
  6. android编译的错误日志,Android Studio:编译器错误输出窗口在哪里?
  7. 操作数数据类型 char 对于 sum 运算符无效。_数据类型和运算符
  8. java pc计数器_java虚拟机-程序计数器PC Register
  9. [JavaWeb-MySQL]事务的基本介绍
  10. [C++11]可调用对象绑定器