hdu 4089 Activation 概率dp 消元
来源:互联网 发布:主流的校园网网络拓扑 编辑:程序博客网 时间:2024/04/29 18:38
虽然是求概率,但是和倒着求期望有些类似,使用的是全概率公式dp[i][j]表示的是从这一点到达目标点的概率
图中有环,只能消元,成环有一定的规律,先求dp[i][i]
参考 http://www.cnblogs.com/kuangbin/archive/2012/10/03/2710987.html
#include<iostream>#include<algorithm>#include<iostream>#include<stdio.h>#include<string.h>#include<stdlib.h>#include<vector>#include<queue>#include<cmath>using namespace std;#define ll long long#define inf 0x3f3f3f3fint dir[4][2]={0,1,0,-1,1,0,-1,0};const double eps=1e-8;double c[2005];double pp[2005];double dp[2005][2005];int n,m,k;double p1,p2,p3,p4,p,p31,p41;int main(){while(scanf("%d%d%d%lf%lf%lf%lf",&n,&m,&k,&p1,&p2,&p3,&p4)!=EOF){if(p4<eps) { printf("0.00000\n"); continue; }memset(dp,0,sizeof(dp)); memset(c,0,sizeof(c));int i,j;p=p2/(1.0-p1);p31=p3/(1.0-p1);p41=p4/(1.0-p1);pp[0]=1.0;for(int i=1;i<=n;i++) pp[i]=p*pp[i-1]; dp[1][1]=p41/(1-p); c[1]=p41; for(int i=2;i<=n;i++) { for(int j=2;j<=k&&j<=i;j++)c[j]=p31*dp[i-1][j-1]+p41; for(int j=k+1;j<=i;j++) c[j]=p31*dp[i-1][j-1]; double tmp=c[1]*pp[i-1]; for(int j=2;j<=i;j++)tmp+=c[j]*pp[i-j]; dp[i][i]=tmp/(1-pp[i]); dp[i][1]=p*dp[i][i]+c[1]; for(int j=2;j<i;j++)dp[i][j]=p*dp[i][j-1]+c[j]; } printf("%.5lf\n",dp[n][m]);}return 0;}
0 0
- hdu 4089 Activation 概率dp 消元
- hdu 4089 Activation (概率dp 手动消元)
- HDU 4089 Activation(概率DP)
- hdu 4089 Activation 概率DP
- 概率dp-hdu-4089-Activation
- [HDU 4089]Activation[概率DP]
- 概率dp HDU 4089 Activation
- hdu-4089-Activation-概率dp
- 【HDU】 4089 Activation 概率DP
- hdu 4089 Activation 概率dp
- 概率DP hdu 4089 Activation
- HDU 4089 Activation(概率DP)
- HDU 4089 Activation 概率dp
- HDU 4089 Activation【概率DP】
- HDU-4089 Activation(概率DP)
- Hdu 4089 Activation 概率DP
- hdu 4089 Activation(概率dp)
- hdu 4089 Activation(概率dp)
- Linked List Cycle II
- Growth Hacker:新型的市场 VP
- 编程之美:中国象棋将帅问题解法二
- 仿QQ条目左滑动时动画显示删除(即任意位置clip型动画)的实现原理,例PropertyAnimation,Crouton,QuickReturn
- 抓住海上丝绸之路建设机遇 推动福建改革开放科学发展
- hdu 4089 Activation 概率dp 消元
- Oracle spool使用实践
- [vs2012项目用VS2010打开]尚未配置为Web项目News指定的本地IIS URL……解决方案 - 谢馥春-xiefuchun.net
- 销售税面试题七编码实现之数据交互层
- 反射,类加载器,动态代理
- Codeforces Round #257 (Div. 2) ABCD
- python基础学习 字符串
- Remove Duplicates from Sorted List
- Android开发————BaseAdapter学习笔记