Probability|Given UVA
来源:互联网 发布:免费网络卫星电视直播 编辑:程序博客网 时间:2024/05/21 08:37
Think:
1>全概率公式:对任一事件A有 P(A)=P(A|B1)*P(B1)+P(A|B2)*P(B2)+…+P(A|Bn)*P(Bn).(或者:p(A)=P(AB1)+P(AB2)+…+P(ABn)).(其中A与Bn的关系为交)——参考自互动百科
全概率公式互动百科链接
理解:将样本空间有二进制字符串表示,1代表元素事件发生的概率,0代表元素事件不发生的概率,例如,n = 4, r = 2, 有6种可能:1100, 1010, 1001, 0110, 0101, 0011., 其中1100发生的概率为P1 * P2 * (1 - P3) * (1 - P4);
计算分析:
vjudge题目链接
以下为Accepted代码
#include <cstdio>#include <cstring>using namespace std;int n, r, v[2], tp, u[24];double tot, P[24][2], sum[24];void DFS(int step);int main(){ int k = 1; while(scanf("%d %d", &n, &r) && (n || r)){ v[1] = r, v[0] = n-r; for(int i = 0; i < n; i++){ scanf("%lf", &P[i][1]); P[i][0] = 1.0 - P[i][1]; } tot = 0.0; for(int i = 0; i < 24; i++) sum[i] = 0.0; tp = 0; DFS(1); printf("Case %d:\n", k++); for(int i = 0; i < n; i++) printf("%.6lf\n", sum[i]/tot); } return 0;}void DFS(int step){ if(step == n+1){ double ans = 1.0; for(int i = 0; i < n; i++){ ans *= P[i][u[i]]; } tot += ans; for(int i = 0; i < n; i++){ if(u[i]){ sum[i] += ans; } } } for(int i = 0; i < 2; i++){ if(v[i]){ u[tp++] = i; v[i]--; DFS(step+1); tp--; v[i]++; } }}
阅读全文
1 0
- uva 11181 Probability|Given
- Probability Given, UVa 11181
- Uva 11181 - Probability|Given
- UVA 11181 Probability|Given
- UVa 11181 Probability|Given
- Uva--11181--Probability|Given
- uva 11181 Probability|Given
- UVA 11181 - Probability|Given
- uva 11181 - Probability|Given
- UVA 11181 Probability|Given
- uva 11181 Probability|Given
- UVa 11181 Probability|Given
- UVa 11181 Probability|Given
- Probability|Given UVA
- Probability|Given UVA
- UVA 11181 Probability|Given
- UVa 11181 Probability|Given
- UVa 11181 - Probability|Given 概率
- python 读取并显示图片的两种方法
- linux启动tomcat成功但是访问无效解决办法
- Ubuntu下关闭占用端口的进程更
- RxJava基础学习(一)
- ImageLoader加载图片的简要分析
- Probability|Given UVA
- 取本周一和上周一的方法案例
- 四元数
- HTML网页下,在div标签中嵌套其他html页面
- POI操作Excel文件,通过文件流判断Excel的版本
- Windows Server 2012 R2 或 2016 无法安装 .NET Framework 3.5
- OpenGL的替代者——Vulkan
- UFPS入门: Unity FPS 教程
- 1001. A+B Format (20)