UVAlive6620 Josephina and RPG
2017-10-07 20:25
337 查看
这是一道容易的概率DP题link
这道题的题意是:给出一个队伍的组合和对另一种组合获胜的概率,之后求出战胜给出敌人的概率。我们首先想到的是对于一个组合,我们要不要选他,那么这样状态就很容易想出来了:用dp[i][j] 表示对第前i个敌人,当前采用第j个队伍组合,在已知各个队伍组合之间的胜率之后,我们的决策就变成了dp[i][j] = p[j][k]*max(dp[i-1][j],dp[i-1][k]) ,之后所有的组合保存在dp数组的最后行,我们找到其中最大的就可以了:
这道题的题意是:给出一个队伍的组合和对另一种组合获胜的概率,之后求出战胜给出敌人的概率。我们首先想到的是对于一个组合,我们要不要选他,那么这样状态就很容易想出来了:用dp[i][j] 表示对第前i个敌人,当前采用第j个队伍组合,在已知各个队伍组合之间的胜率之后,我们的决策就变成了dp[i][j] = p[j][k]*max(dp[i-1][j],dp[i-1][k]) ,之后所有的组合保存在dp数组的最后行,我们找到其中最大的就可以了:
#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> #include <vector> #include <ctime> #include <cstdlib> #define ll long long using namespace std; double dp[10010][150]; double p[150][150]; int a[15000]; int main() { int M; while(scanf("%d",&M)!= EOF) { memset(dp,0,sizeof(dp)); memset(p,0,sizeof(p)); memset(a,0,sizeof(a)); int n = (M-1)*M*(M-2)/6; for(int i = 0;i<n;i++) { for(int j = 0;j<n;j++) { scanf("%lf",&p[i][j]); } } int m; scanf("%d",&m); for(int i =1;i<=m;i++) { scanf("%d",&a[i]); } for(int i = 0;i<=n;i++) { dp[0][i] = 1; } for(int i = 1;i<=m;i++) { for(int j = 0;j<n;j++) { dp[i][j] = max(dp[i-1][j] * p[j][a[i]],dp[i][j]); dp[i][a[i]] = max(dp[i-1][j] * p[j][a[i]],dp[i][a[i]]); } } double ans = 0; for(int i = 0;i<n;i++) { ans = max(ans,dp[m][i]); } printf("%.6lf\n",ans); } return 0; }
相关文章推荐
- UVALive 6620 Josephina and RPG(概率DP)
- UVALive 7410 && POJ 5583 Kingdom of Black and White (枚举)
- HDU 4800 Josephina and RPG
- hdu 4800 Josephina and RPG【dp】
- UVALive 3882 And Then There Was One
- hdu 4800 Josephina and RPG(dp)
- UVALive 5031 Graph and Queries(离线,treap)
- UVAlive4080_Warfare And Logistics
- UVALive - 4080 Warfare And Logistics
- ZOJ 3735 Josephina and RPG
- uvalive 5760 Alice and Bob (组合游戏,dp)
- The 2013 ACM-ICPC Asia Changsha Regional Contest J Josephina and RPG
- HDU1200 POJ2039 ZOJ2208 UVALive3084 To and Fro【密码+水题】
- Boxes and Balls UVALive - 7500(练习赛爆零)
- UVALive - 3882 And Then There Was One 约瑟夫的变形问题
- UVALive 6263 The Dragon and the knights --统计,直线分平面
- UVAlive 7487 Association of Cats and Magical Lights(线段树)
- UVAlive 5031 Graph and Queries(treap)
- UVALive - 5088 Alice and Bob's Trip
- UVALive-7225 Summation and Divisor【Gcd+思维】