POJ 2096 Collecting Bugs(概率DP)
来源:互联网 发布:传世登陆器源码 编辑:程序博客网 时间:2024/05/21 22:50
思路:dp[i][j]表示已发现i个类别,s个子系统。那么下一天可能有四种情况。则dp[i][j]=(dp[i][j]+1)p1+(dp[i+1][j]+1)p2+(dp[i][j+1]+1)p3+(dp[i+1][j+1]+1)p4。特别要注意浮点数的处理。
#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=1008;int n,s;double dp[maxn][maxn];int main(){ while(cin>>n>>s) { memset(dp,0,sizeof(dp)); for(int i=n;i>=0;i--) { for(int j=s;j>=0;j--) { if(i==n&&j==s) continue; double q=(double)i/n; double w=(double)j/s; double p1=(double)q*w; double p2=(double)(1-q)*w; double p3=(double)q*(1-w); double p4=(double)(1-q)*(1-w); dp[i][j]=(double)((dp[i+1][j]+1)*p2+(dp[i][j+1]+1)*p3+(dp[i+1][j+1]+1)*p4+p1)/(1-p1); } } printf("%.4f\n",dp[0][0]); } return 0;}
0 0
- poj 2096 Collecting Bugs (概率dp)
- POJ 2096 Collecting Bugs(概率DP)
- POJ 2096 Collecting Bugs(概率dp)
- POJ 2096 Collecting Bugs(概率DP)
- POJ 2096 Collecting Bugs(概率DP)
- poj 2096 Collecting Bugs(概率dp)
- POJ 2096 Collecting Bugs(概率DP)
- POJ 2096 Collecting Bugs (概率DP)
- POJ-2096 Collecting Bugs (概率DP)
- poj 2096 Collecting Bugs(概率DP)
- poj 2096 Collecting Bugs (概率DP)
- POJ 2096 Collecting Bugs 概率DP
- 概率dp-poj-2096-Collecting Bugs
- poj 2096 Collecting Bugs(概率DP)
- 概率dp POJ 2096 Collecting Bugs
- POJ-2096 Collecting Bugs 简单概率DP
- poj 2096 Collecting Bugs(概率dp)
- POJ 2096 Collecting Bugs (概率dp)
- 索引器
- java小总结
- Datatables从入门到精通(案例二)
- 手势识别器
- POJ 1087 A Plug for UNIX (最大流+多源多汇)
- POJ 2096 Collecting Bugs(概率DP)
- Objective-C 多参数成员函数【好文收藏】
- scheme(Lisp)资源
- 小点滴——word页码页眉问题——摘自贴吧
- 系统学习机器学习之参数方法(二)
- Activity和Fragment生命周期
- 数据分页
- JAVA正则表达式 Pattern和Matcher
- Spring的多事务配置(多个Transaction Manager)和使用方法