poj #2096:Collecting Bugs
来源:互联网 发布:电脑照片后期制作软件 编辑:程序博客网 时间:2024/05/16 15:03
题目描述:http://poj.org/problem?id=2096
概率dp简单题,题目分析参考了这篇:http://www.cnblogs.com/kuangbin/archive/2012/10/02/2710621.html
注意:dp[i][j]表示已经找到i种bug,且属于j个子程序,还需要的天数的数学期望。
由分析可知:dp[i][j] = (i/n)(j/s)(dp[i][j]+1) + (i/n)((s-j)/s)(dp[i][j+1]+1) + ((n-i)/n)(j/s)(dp[i+1][j]+1) + ((n-i)/n)((s-j)/s)(dp[i+1][j+1]+1)
化简可得:dp[i][j] = (i*(s-j)*dp[i][j+1] + (n-i)*j*dp[i+1][j] + (n-i)*(s-j)*dp[i+1][j+1] + n*s)/(n*s - i*j)。
另外,搞不明白poj上用GCC提交时得改成%.4f而不能用lf
#include <stdio.h>#define MAX_N 1002double dp[MAX_N][MAX_N];int main(){int n, s, i, j;while(scanf("%d%d", &n, &s) != EOF){dp[n][s] = 0;for(i = n; i >= 0; i--){for(j = s; j >= 0; j--){if(i == n && j == s){continue;}dp[i][j] = (i*(s-j)*dp[i][j+1] + (n-i)*j*dp[i+1][j] + (n-i)*(s-j)*dp[i+1][j+1] + n*s) \/(n*s - i*j);}}printf("%.4f\n", dp[0][0]);}return 0;}
0 0
- poj 2096 Collecting Bugs
- POJ 2096 Collecting Bugs
- poj 2096 Collecting Bugs
- POJ 2096 Collecting Bugs
- poj 2096 Collecting Bugs
- POJ 2096 Collecting Bugs
- POJ 2096 Collecting Bugs
- POJ 2096 collecting bugs
- POJ 2096 Collecting Bugs
- POJ 2096 Collecting Bugs
- POJ 2096 Collecting Bugs
- poj 2096 Collecting Bugs
- poj 2096 Collecting Bugs
- POJ 2096 Collecting Bugs
- POJ 2096 Collecting Bugs
- poj #2096:Collecting Bugs
- poj 2096 Collecting bugs
- POJ 2096 Collecting Bugs
- run away
- Angular文字折叠展开组件的原理分析
- 在WPS中使用VBA7
- oracle 创建表空间,用户,赋权限
- 判断一个数是否是回文数
- poj #2096:Collecting Bugs
- Activity学习
- 调试
- 设计模式——门面模式
- STOP: c000021a { Fatal System Error } the initial session process or system process terminated ...
- 单知识点运用---关于远程读取图片
- 常用awk命令
- [机器学习笔记] Note3--多变量线性回归
- Maven Profile多环境打包