hdu 4870 Rating 多校第一场 概率dp

来源:互联网 发布:淘宝快递一直显示揽件 编辑:程序博客网 时间:2024/06/01 09:34

 概率方程很好写,但是有环

可以看出来dp[0][k]-dp[k][k]是一组

分组求,可以设参数也可以高斯消元

#include<stdio.h>#include<iostream>#include<string.h>#include<algorithm>#include<math.h>#include<queue>using namespace std;double p,q;struct Dian{double a;double b;}dp[25];int main(){while(scanf("%lf",&p)!=EOF){q=1-p;int i,j;double temp=0,yu;for(i=19;i>0;i--){dp[0].a=1;dp[0].b=0;dp[1].a=(1-q)/p;dp[1].b=-(1/p);dp[2].a=(dp[1].a-q)/p;dp[2].b=(dp[1].b-1)/p;for(j=3;j<=i+1;j++){dp[j].a=(dp[j-1].a-q*dp[j-3].a)/p;dp[j].b=(dp[j-1].b-q*dp[j-3].b-1)/p;}yu=(temp-dp[i+1].b)/dp[i+1].a;temp=dp[i-1].a*yu+dp[i-1].b;}printf("%.8lf\n",(p*temp+1)/(1-q));}return 0;}


0 0
原创粉丝点击