hdu 4870(概率Dp)
来源:互联网 发布:昂科拉油耗多少知乎 编辑:程序博客网 时间:2024/05/09 01:02
首先我们以50分为一单位,于是赢一次得1分输一次扣2分,由于每次都用小号打,所以容易观察出最后达到20分时应该分别为20分和19分。我们设dp[i]为i到i+1分的期望步数。则dp[i]=p*1+(1-p)*(dp[i-2]+dp[i-1]+dp[i]+1),前者是赢的期望,后者由于输了2分,所以变成i+1分时需要从i-2->i-1->i->i+1,就是dp[i-2]+dp[i-1]+dp[i]+1了,f[i][j]表示大号为i分小号为j分的步数期望,Dp即可
代码https://github.com/mlz000/hdu/blob/master/4870(%E6%A6%82%E7%8E%87Dp).cpp
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>using namespace std;const int N=25;double dp[N],f[N][N];int main(){double p;while(~scanf("%lf",&p)){dp[0]=1.0/p,dp[1]=1.0/p+(1.0-p)/p*dp[0];for(int i=2;i<=19;++i)dp[i]=1.0/p+(1.0-p)/p*(dp[i-2]+dp[i-1]);f[1][0]=dp[0],f[1][1]=f[1][0]+dp[0];for(int i=1;i<=19;++i){f[i+1][i]=f[i][i]+dp[i];f[i+1][i+1]=f[i+1][i]+dp[i];}printf("%.10lf\n",f[20][19]);}return 0;}
0 0
- hdu 4870(概率Dp)
- 【HDU】4870 Rating 概率DP
- hdu 4870 Rating 概率dp
- hdu 4870 Rating (概率dp)
- HDU 4870 Rating(概率dp+高斯消元)
- hdu 4870 Rating (概率dp)
- hdu 4870 Rating(概率DP&高数消元)
- hdu 4870 Rating (高斯消元解概率dp)
- HDU 4870 Rating 概率DP(高斯消元)
- hdu football 概率DP
- hdu 3835 概率DP
- hdu 3853 概率DP
- hdu Robberies 概率DP
- hdu 4405 概率DP
- HDU 3853 概率DP
- hdu 4487 概率DP
- hdu 4089 概率dp
- HDU 3853 概率DP
- sdgghdfhjfg是的高等师范好地方呵呵速度发货的时候
- 属性动画
- 是大概多少说的话是多少的话
- 树莓派系统备份与还原
- 创建会计分录以警告结束但没有会计错误信息
- hdu 4870(概率Dp)
- 使得股市大幅很简单
- poj 3355
- 使第三方导师工读生公司的
- hdu4876 深搜+(随机枚举剪枝)
- HDU 2176 取(m堆)石子游戏
- 使第三方导师工读生公司的
- 但是公司多少速度合适的
- 二维费用背包