HDU 4870 Rating (概率+高斯消元)
来源:互联网 发布:js微信通讯录字母索引 编辑:程序博客网 时间:2024/06/04 18:00
题意:两个账号,初始值是0,每次分数低的账号比赛,赢了加50分,输了扣100分,胜率为p,至其中一个账号=1000分为止,求比赛场次的期望值。
首先,状态(20,0),(20,1),(20,2)...(20,20) 的期望是0;
状态(i,j)的期望=( i , j + 1 ) + ( i , j - 2 ) * ( i - p ) + 1 ;
最后,高斯消元求解;
#include <iostream>#include <cstdio>#include <string.h>#include <cmath>using namespace std;const double eps=1e-9;int mark[30][30],cnt;double a[300][300];double p;void pre()//标号{ memset(mark,-1,sizeof(mark)); cnt=0; for (int i=0;i<20;i++) for (int j=0;j<=i;j++) mark[i][j]=cnt++;}double solve() //高斯消元{ for (int i=0;i<cnt;i++) { int k=i; for (;k<cnt;k++) if (fabs(a[k][i])>eps) break; for (int j=0;j<=cnt;j++) swap(a[i][j],a[k][j]); for (int j=0;j<cnt;j++) { if (i==j) continue; if (fabs(a[j][i])>eps) { double x =a[j][i]/a[i][i]; for (int k=i;k<=210;k++) { a[j][k]-=a[i][k]*x; } } } } return a[0][210]/a[0][0];}void doit()//列方程{ memset(a,0,sizeof(a)); for (int i=0;i<20;i++) for (int j=0;j<=i;j++) { int u=mark[i][j]; int v1=mark[max(i,j+1)][min(i,j+1)]; int v2=mark[max(i,max(j-2,0))][min(i,max(j-2,0))]; a[u][u]=1; a[u][cnt]=1; if (v1>=0&&v1<cnt) a[u][v1]-=p; if (v2>=0&&v2<cnt) a[u][v2]-=(1-p); }}int main(){ pre(); while (~scanf("%lf",&p)){ doit(); double ans=solve(); printf("%.6lf\n",ans); } return 0;}
0 0
- hdu--4870 Rating(高斯消元,概率)
- HDU 4870 Rating (概率+高斯消元)
- 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 4870 Rating(高斯消元)
- HDU 4870 Rating 2014 Multi-University Training Contest 1 J题 概率DP+高斯消元
- hdu 4870 Rating 多校第一场 概率dp
- [HDOJ 4870] Rating [概率DP]
- hdu 4870 Rating 高斯消元/递推
- hdu 4870 Rating 高斯消元或者递推
- hdu 4870 Rating
- 【HDU 4870】Rating【DP】
- 如何使用cntlm配置代理上网
- 言诟杭铣戏思思檀杭陡盖
- FPGA综合编码
- Hough变换直线检测
- java version : 找出数组中两个只出现一次的数字
- HDU 4870 Rating (概率+高斯消元)
- hibernate学习之——many-to-many(双向多对多关系)
- Spring 注解学习手札(一) 构建简单Web应用
- android 多次调用PendingIntent.getBroadcast intent数据不更新问题
- sed
- HTML-表格基础
- poj1182~食物链~种类并查集
- 用 Maven 做项目管理
- Eclipse中Maven WEB工程tomcat项目添加调试以及项目发布细节记录