hdu 4870 期望问题(高斯消元)
来源:互联网 发布:网络被管理员禁止访问 编辑:程序博客网 时间:2024/05/16 10:50
/*初学概率期望问题参考:http://blog.csdn.net/a601025382s/article/details/38047905*/#include<stdio.h>#include<string.h>#include<math.h>#include<string.h>#include<iostream>using namespace std;#define N 300struct node { double ma[N][N];}a;void gauss(int n) { int i,j,k,r; for(i=0;i<n;i++) { r=i; for(j=i+1;j<n;j++) if(fabs(a.ma[j][i])>fabs(a.ma[r][i]))r=j; if(r!=i) { for(j=0;j<=n;j++) swap(a.ma[r][j],a.ma[i][j]); } for(k=0;k<n;k++) if(k!=i) for(j=n;j>=i;j--) a.ma[k][j]-=a.ma[k][i]/a.ma[i][i]*a.ma[i][j]; } for(i=n-1;i>=0;i--) { for(j=i+1;j<n;j++) a.ma[i][n]-=a.ma[j][n]*a.ma[i][j]; a.ma[i][n]/=a.ma[i][i]; } return ;}int main() { double p; int i,j; while(scanf("%lf",&p)!=EOF) { memset(a.ma,0,sizeof(a.ma)); for(i=0;i<20;i++) { if(i==0) { a.ma[i][i]=p; a.ma[i][i+1]=-p; } else if(i==1) { a.ma[i][i]=1; a.ma[i][i+1]=-p; a.ma[i][0]=p-1; } else { a.ma[i][i]=1; if(i!=19) a.ma[i][i+1]=-p; a.ma[i][i-2]=p-1; } a.ma[i][20]=1; } gauss(20); printf("%.6f\n",a.ma[0][20]*2-a.ma[19][20]); }return 0;}
0 0
- hdu 4870 期望问题(高斯消元)
- hdu 4405(期望)
- HDU 4050 wolf5x(11年北京 期望问题)
- Rating - HDU 4870 期望dp
- hdu 4870 Rating(高斯消元求期望)
- HDU 4870 Rating 高斯消元求期望
- hdu 4649 (期望dp)
- hdu-3853(dp+期望)
- HDU 4586(数学期望)
- hdu 5035 Delivery(期望)
- hdu 5162(概率期望)
- hdu 3853(期望dp)
- hdu 4405(期望dp)
- hdu 5781(期望dp)
- HDU-4936 Rainbow Island(期望dp+高斯消元+hash)
- HDU 3853 LOOPS(期望DP)
- hdu 4465 Candy (概率期望)
- hdu 3232 Crossing Rivers (数学期望)
- 最全的常用正则表达式
- 【重磅干货整理】机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总
- 数组指针和指针数组的区别
- ConcurrentHashMap深入分析
- unix/linux下信号处理函数Signal()详解
- hdu 4870 期望问题(高斯消元)
- C和指针读书笔记-第15章(输入/输出函数)
- 第八周上机实践项目1-实现复数类中的运算符重载(类的成员函数)
- .NET简介
- SDL
- [MySQL Slow log]正确安全清空在线慢查询日志slow log的流程
- SIFT特征提取分析
- 最全的正则表达式说明
- 在Centos中yum安装和卸载软件的使用方法