题意:

初始奖金为1块钱,有n个问题,连续回答对i个问题后,奖金变为2i元。

回答对每道题的概率在t~1之间均匀分布。

听到问题后有两个选择:

  • 放弃回答,拿走已得到的奖金
  • 回答问题:
    • 如果回答正确,奖金加倍
    • 如果回答错误,游戏结束,得不到奖金

分析:

d[i]表示答对i题后最大期望奖金,设回答对第i题的概率为p,

则回答第i题的期望奖金 = p × d[i]

考虑上不回答的情况,期望奖金最大值为max{2i-1, p*d[i]}

因为p在t~1均匀分布,所以d[i]等于分段函数max{2i-1, p*d[i]}在这个区间上的积分。

因为一段是常函数,一段是直线,所以积分很好求。

令p0 = max{t, 2i/d[i+1]}

  • p < p0,选择不回答,奖金期望为2i
  • p ≥ p0,选择回答,奖金期望为(1+p0)/2 * d[i+1]

根据全概率公式,第一种情况的概率为p1 = (p0 - t) / (1 - t)

d[i] = p1*2i + (1-p1)*(1+p0)/2 * d[i+1]

边界d[n] = 2n,答案为d[0]

 #include <cstdio>
#include <algorithm>
using namespace std; const int maxn = ;
double d[maxn]; int main()
{
//freopen("in.txt", "r", stdin);
int n;
double t;
while(scanf("%d%lf", &n, &t) == && n)
{
d[n] = ( << n);
for(int i = n-; i >= ; --i)
{
double p0 = max(t, (double)(<<i)/d[i+]);
double p1 = (p0-t)/(-t);
d[i] = (double)(<<i)*p1 + (+p0)/ * d[i+] * (-p1);
}
printf("%.3f\n", d[]);
} return ;
}

代码君

UVa 10900 (连续概率、递推) So you want to be a 2n-aire?的更多相关文章

  1. UVA 10288 - Coupons(概率递推)

    UVA 10288 - Coupons option=com_onlinejudge&Itemid=8&page=show_problem&category=482&p ...

  2. UVA 557 - Burger(概率 递推)

     Burger  When Mr. and Mrs. Clinton's twin sons Ben and Bill had their tenth birthday, the party was ...

  3. UVA 11021 - Tribles(概率递推)

    UVA 11021 - Tribles 题目链接 题意:k个毛球,每一个毛球死后会产生i个毛球的概率为pi.问m天后,全部毛球都死亡的概率 思路:f[i]为一个毛球第i天死亡的概率.那么 f(i)=p ...

  4. UVa 557 Burger (概率+递推)

    题意:有 n 个牛肉堡和 n 个鸡肉堡给 2n 个客人吃,在吃之前抛硬币来决定吃什么,如果剩下的汉堡一样,就不用投了,求最后两个人吃到相同的概率. 析:由于正面考虑还要要不要投硬币,太麻烦,所以我们先 ...

  5. UVA 1541 - To Bet or Not To Bet(概率递推)

    UVA 1541 - To Bet or Not To Bet 题目链接 题意:这题题意真是神了- -.看半天,大概是玩一个游戏,開始在位置0.终点在位置m + 1,每次扔一个硬币,正面走一步,反面走 ...

  6. UVa 557 (概率 递推) Burger

    题意: 有两种汉堡给2n个孩子吃,每个孩子在吃之前要抛硬币决定吃哪一种汉堡.如果只剩一种汉堡,就不用抛硬币了. 求最后两个孩子吃到同一种汉堡的概率. 分析: 可以从反面思考,求最后两个孩子吃到不同汉堡 ...

  7. UVA 11021 Tribles(递推+概率)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=33059 [思路] 递推+概率. 设f[i]表示一只Tribble经 ...

  8. UVa 10561 (SG函数 递推) Treblecross

    如果已经有三个相邻的X,则先手已经输了. 如果有两个相邻的X或者两个X相隔一个.,那么先手一定胜. 除去上面两种情况,每个X周围两个格子不能再放X了,因为放完之后,对手下一轮再放一个就输了. 最后当“ ...

  9. UVa 12034 - Race(递推 + 杨辉三角)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

随机推荐

  1. CentOS配置vsftpd遇到550错误的解决办法

    默认情况下用root是无法连接的,你可以创建一个非root帐户登录,但是登录是可以登录,却没有办法创建或是上传文件.有人说,可以把 SELinux关掉,可是这样未免也有点尺度太大了,其实是SELinu ...

  2. 如何实现phpcms v9_4X版本tag的伪静态?

    这两个月来写的文章越来越少了,不是懒,因为太忙了--为客户赶做网站.因为客户指定要使用phpcms v9,还要求使用phpcms v9_42版本实现tag伪静态,在接手的时候phpcms v9_42是 ...

  3. bootstrap IE兼容

    <meta name="viewport" content="width=device-width, initial-scale=1">     & ...

  4. PDF ITextSharp

    示例源码 //Document:(文档)生成pdf必备的一个对象,生成一个Document示例 Document document = new Document(PageSize.A4, 30, 30 ...

  5. easy ui datagrid 动态绑定数据并绑定链接,进行操作

    ①.绑定datagrid,formatter { field: 'ShopId', title: '操作', width: 200, align: 'left', formatter: showSho ...

  6. iOS 基础 第三天(0808)

    0808 分类的使用注意 分类只可以增加方法,不可以增加成员变量 分类可以访问原来类中声明的成员变量 分类可以重新实现原来类中的方法,但是会覆盖掉原来的方法,会导致原来的方法没法再使用 方法调用的优先 ...

  7. WP8.1和Win8.1的不同之处

    本文仅是个人见解,如有不足或错误之处欢迎批评指正~ 1.Toast: 创建Toast代码差不多但实现机制及管理上不一样 2.ApplicationData: WP8.1多了一个LocalCacheFo ...

  8. mybatis generator自动生成 实体类, sqlmap配置文件 详细介绍

    我使用的是Eclipse Luna 装了自己常用的插件, generator也是其中一个推荐下载 MyBatis_Generator_1.3.1.zip离线安装包 <?xml version=& ...

  9. 第三方登录过程—OAuth2.0协议

    ---恢复内容开始--- 理清思路 1.在第三方注册成为开发者,拿到第三方给的client_id(app_id---就像你的身份证.QQ号)和client_secret(就像你的QQ密码): 2.填写 ...

  10. log4j示例

    示例代码:此示例从控制台输入日志,设置了输出等级. # # Log4J Settings for log4j 1.2.x (via jakarta-commons-logging) # # The f ...