superoj754 游戏
来源:互联网 发布:c语言是干什么的 编辑:程序博客网 时间:2024/06/16 07:54
题目描述
输入格式
一个正整数 n ,含义如题目所述。
输出格式
一个数,表示 Alice 获胜的概率,保留 6 位小数。
样例数据 1
输入 [复制]
1
输出
0.666667
备注
【数据范围】
对于 30% 的数据,n≤10
对于 100% 的数据,n≤500
分析:
概率dp,倒着做,由结果推初始值
代码:
#include<string>#include<cstring>#include<cmath>#include<cstdio>#include<cstdlib>#include<iostream>#include<algorithm>#include<queue>#include<vector>using namespace std;double f[2000][2000];int n;int read(){int k=0,f=1;char c=getchar();while(c<'0'||c>'9') {if(c=='-') f=-1; c=getchar();}while(c>='0'&&c<='9') {k=k*10+c-'0'; c=getchar();}return k*f;}int main(){//freopen("game.in","r",stdin);//freopen("game.out","w",stdout); n=read(); int i,j,k; for(i=0;i<=n;i++) { f[n][i]=1; }for(i=0;i<n;i++) f[i][n]=0;for(i=n-1;i>=0;i--) for(j=n-1;j>=0;j--) { for(k=1;k<=10;k++){int he=1<<(k-1);int l=i+he;if(l>n)l=n;double dd=1.0/(he*2);f[i][j]=max(f[i][j],((0.5*dd*f[l][j]+0.5*dd*f[l][j+1]+(0.5-0.5*dd)*f[i][j+1])/(0.5+0.5*dd)));} }printf("%0.6f",f[0][0]);return 0;}
0 0
- superoj754 游戏
- 游戏
- 游戏
- 游戏
- 游戏
- 游戏...
- 游戏
- 游戏
- 游戏
- 游戏
- 游戏
- #游戏
- 游戏
- 游戏
- 游戏
- 游戏
- 游戏
- 游戏
- 【Sow&Harvest】体验C++第一个月(开虐)
- 面试题30:最小的k个数(未)
- SVN常见错误
- tomcat 根目录 session
- 多线程的初步学习
- superoj754 游戏
- Mysql创建后表的修改
- Linux内核工程导论——存储:USB
- STM32--vs1053 WAV录音实现(保存在SD卡)
- OBIEE中JS的使用---dashboard中prompt的展示和隐藏
- Android M Permissions 权限管理
- 此文为转载,虽然写的是PHP,但是思路同样值得javaer参考!
- 简单的横向下拉菜单js
- poj2488(dfs)