UVA 11176 Winning Streak
来源:互联网 发布:网络手游赚钱排行榜 编辑:程序博客网 时间:2024/06/06 02:42
题意:参考了大神的想法:点击打开链接
用dp[i][j]表示前i场连续的W不超过j的概率,最后求dp[n][j]-dp[n][i-1]就行了,
对于第i场比赛是w还是L,只要是第i场比赛的结果不会使得连续胜利场数超过j即可。
那么我们从原概率中减去这种事件发生的概率即可【这种事件发生的概率是i次比赛的后面连续j+1场都获得了胜利,且再往前一场没有获得胜利】
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>using namespace std;const int MAXN = 505;int n;double p,dp[MAXN][MAXN],d[MAXN];void solve(){ double res = 0,temp; d[0] = 1; for (int i = 1; i <= n; i++) d[i] = d[i-1] * p; for (int i = 0; i <= n; i++) dp[0][i] = 1; for (int i = 1; i <= n; i++) for (int j = 0; j <= n; j++){ dp[i][j] = dp[i-1][j]; if (j == i-1) dp[i][j] -= d[j+1]; else if (j < i-1) dp[i][j] -= dp[i-j-2][j] * (1-p)*d[j+1]; } for (int i = 1; i <= n; i++) res += i * (dp[n][i]-dp[n][i-1]); printf("%.6lf\n",res);}int main(){ while (scanf("%d%lf",&n,&p) != EOF && n){ solve(); } return 0;}
- UVA 11176 Winning Streak
- UVA 11176 - Winning Streak
- uva 11176 Winning Streak
- UVA 11176 - Winning Streak(dp)
- uva 11176 - Winning Streak(期望)
- uva11176 - Winning Streak(连续获胜)
- uva11176 - Winning Streak 数学期望 DP
- Erasing and Winning UVA
- Erasing and Winning UVA
- uva 11491 Erasing and Winning
- UVA - 11491 Erasing and Winning
- Uva - 11491 - Erasing and Winning
- uva 11491 - Erasing and Winning
- uva 11491/Erasing and Winning
- UVA 11491 Erasing and Winning
- UVA-11491 Erasing and Winning
- UVa 11491 - Erasing and Winning(贪心)
- UVA - 11491 Erasing and Winning 贪心
- Ubuntu 12.04 禁用GUEST用户
- 作为一个菜鸟,成都区域赛实在是收获太多了
- 快速批量更新数据
- set -e and set -o pipefail
- SVN服务器搭建
- UVA 11176 Winning Streak
- Android如何防止apk程序被反编译
- Log4j.xml 配置模板
- hdu 3038 - How Many Answers Are Wrong(并查集)
- Git 使用的简单汇总 .
- ACM 中常用小算法(慢慢更新)
- 电路,报文,分组交换等的比较
- org.apache.cxf.interceptor.Fault:Could not send Message
- CopyUtils执行从read到write的数据拷贝