zoukankan      html  css  js  c++  java
  • 【BZOJ】【1419】Red is good

    数学期望/期望DP


      还是戳《浅析竞赛中一类数学期望问题的解决方法》这篇论文……

      $$ f[i][j]= egin{cases} 0 &, &i==0 \ f[i-1][j]+1 &, &i>0,j=0 \ max{0,(f[i-1][j]+1)*frac{i}{i+j} + (f[i][j-1]-1)* frac{j}{i+j}} &, &i>0,j>0 end{cases} $$

      然而TLE了一发……因为空间限制,所以只能开滚动数组,直接开$N^2$的挂了……

     1 /**************************************************************
     2     Problem: 1419
     3     User: Tunix
     4     Language: C++
     5     Result: Accepted
     6     Time:2188 ms
     7     Memory:1352 kb
     8 ****************************************************************/
     9  
    10 //BZOJ 1419
    11 #include<cstdio>
    12 #include<cstring>
    13 #include<cstdlib>
    14 #include<iostream>
    15 #include<algorithm>
    16 #define rep(i,n) for(int i=0;i<n;++i)
    17 #define F(i,j,n) for(int i=j;i<=n;++i)
    18 #define D(i,j,n) for(int i=j;i>=n;--i)
    19 #define pb push_back
    20 using namespace std;
    21 const int N=5010;
    22 /*******************template********************/
    23  
    24 int n,m;
    25 double f[2][N];
    26  
    27 int main(){
    28 #ifndef ONLINE_JUDGE
    29     freopen("1419.in","r",stdin);
    30     freopen("1419.out","w",stdout);
    31 #endif
    32     scanf("%d%d",&n,&m);
    33     F(i,0,n) F(j,0,m){
    34         int now=i&1;
    35         if (i==0){f[now][j]=0;continue;}
    36         if (j==0){f[now][j]=f[now^1][j]+1;continue;}
    37         f[now][j]=max(0.0,(f[now^1][j]+1)*i/double(i+j)+(f[now][j-1]-1)*j/double(i+j));
    38     }
    39     printf("%.6f
    ",f[n&1][m]-0.0000005);
    40     return 0;
    41 }
    View Code

    1419: Red is good

    Time Limit: 10 Sec  Memory Limit: 64 MB
    Submit: 426  Solved: 144
    [Submit][Status][Discuss]

    Description

    桌面上有R张红牌和B张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到1美元,黑牌则付出1美元。可以随时停止翻牌,在最优策略下平均能得到多少钱。

    Input

    一行输入两个数R,B,其值在0到5000之间

    Output

    在最优策略下平均能得到多少钱。

    Sample Input

    5 1

    Sample Output

    4.166666

    HINT

    输出答案时,小数点后第六位后的全部去掉,不要四舍五入.

    Source

    [Submit][Status][Discuss]
  • 相关阅读:
    Python数据结构之列表
    前端html表单与css样式
    Http协议基本知识
    PHP-CGI远程任意代码执行漏洞(CVE-2012-1823)修复方案
    云计算定义
    编译最新linux内核(version 4.4.2)
    nginx负载均衡
    Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
    WebService--使用 CXF 开发 REST 服务
    WebService- 使用 CXF 开发 SOAP 服务
  • 原文地址:https://www.cnblogs.com/Tunix/p/4571034.html
Copyright © 2011-2022 走看看