【概率】Uva 10900 - So you want to be a 2n-aire?
写完这题赶紧开新题...
话说这题让我重新翻了概率论课本,果然突击完了接着还给老师了,毫无卵用。
很多人拿这位大神的题解作引,在这我也分享给大家~
对于其中的公式在这里做一点简要的说明。因为自己也是理解了一会儿才明白的。
TIPs:
1、设d[i]为答对第i道题后拥有奖金的期望值。
2、对于第i+1道题,我们可以有两种选择:答,不答;
如果不答,那么奖金便到2i为止;
如果答,答错的话,奖金当然为0;答对的话,奖金会变为P*d[i+1](这是一个期望值,也可以说是平均值,或者可以这样理解,选择答题的话获得奖金的期望=(1-P)*0 + P*d[i+1],答错没奖金,答对的话奖金当然就是它咯);
现在问题来了,此处的P为答对第i+1题的概率,这个概率会是多少呢。
首先我们考虑一个问题,什么情况下你会选择答题?
还用想啊当然是答题的奖金期望比不答的多咯!这也就是:
P*d[i+1] > 2i(注意此处答对第i+1题的奖金期望并不是2i+1)
转化一下就是,这个P>2i/d[i+1]的时候,答对题目拿奖金的概率就会比较大,我们会选择答题;
令ep=2i/d[i+1],考虑tmp的范围:
当ep<t时,因为选手答对题的概率在(t,1)间均匀分布,所以选手答对题目的概率会很大,那么我们会让选手答题,答题的概率为(1-max(t,ep))/(1-t);
当ep>t时,选手答对与答错的判断不确定,选择答题的概率为(1-max(t,ep))/(1-t);
注意此处的max(t,ep),如果ep<t的话答题的概率为(1-t)/(1-t);而如果ep>t,根据均匀分布的分布函数我们可以知道答题的概率为(1-ep)/(1-t),故可以化为一个式子(1-max(t,ep))/(1-t);
而之前讨论的答对题目的概率P,因为ep<P<1,根据均匀分布的数学期望可知EP=(1+ep)/2;
3、那么我们现在可以求答对第i题后奖金的期望值d[i]了:
我们选择不答的概率为(ep-t)/(1-t),此时拿奖金2i
我们选择答题的概率为(1-ep)/(1-t),此时拿奖金(1+ep)/2 * d[i+1];
故d[i]=(ep-t)/(1-t) * 2i + (1-ep)/(1-t) * ((1+ep)/2*d[i+1]);
4、这题需要逆推,一共i道题,那么d[i]=2i
最后求d[0]即可。
代码就不附了吧...
【概率】Uva 10900 - So you want to be a 2n-aire?的更多相关文章
- UVa 10900 So you want to be a 2n-aire? (概率DP,数学)
题意:一 个答题赢奖金的问题,玩家初始的金额为1,给出n,表示有n道题目,t表示说答对一道题目的概率在t到1之间,每次面对一道题,可以选择结束游戏, 获得当 前奖金:回答下一道问题,答对的概率p在t到 ...
- UVa 10900 (连续概率、递推) So you want to be a 2n-aire?
题意: 初始奖金为1块钱,有n个问题,连续回答对i个问题后,奖金变为2i元. 回答对每道题的概率在t~1之间均匀分布. 听到问题后有两个选择: 放弃回答,拿走已得到的奖金 回答问题: 如果回答正确,奖 ...
- So you want to be a 2n-aire? UVA - 10900(概率)
题意: 初始值为1, 每次回答一个问题,如果答对初始值乘2,答错归0,结束,一共有n个问题,求在最优的策略下,最后值的期望值 解析: 注意题中的一句话 每个问题的答对概率在t和1之间均匀分布 也就 ...
- UVA 10900 So you want to be a 2n-aire? (概率dp)
题意:玩家初始的金额为1:给出n,表示有n道题目:t表示说答对一道题目的概率在t到1之间均匀分布. 每次面对一道题,可以选择结束游戏,获得当前奖金:或者回答下一道问题,答对的话奖金翻倍,答错的话结束游 ...
- 紫书 例题 10-20 UVa 10900(连续概率)
分两类,当前第i题答或不答 如果不回答的话最大期望奖金为2的i次方 如果回答的话等于p* 下一道题的最大期望奖金 那么显然我们要取最大值 所以就要分类讨论 我们设答对i题后的最大期望奖金为d[i] 显 ...
- 概率dp - Uva 10900 So you want to be a 2n-aire?
So you want to be a 2n-aire? Problem's Link Mean: 玩一个答题赢奖金的游戏,一开始有1块钱,玩n次,每次赢的概率为t~1之间的某个实数. 给定n和t,求 ...
- UVa 10900 - So you want to be a 2n-aire?(期望DP)
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- UVa 10900 - So you want to be a 2n-aire?
题目大意: 一个答题赢奖金的问题,玩家初始的金额为1,给出n,表示有n道题目,t表示说答对一道题目的概率在t到1之间,每次面对一道题,可以选择结束游戏,获得当前奖金:回答下一道问题,答对的概率p在t到 ...
- UVA 10900 So you want to be a 2n-aire? 2元富翁 (数学期望,贪心)
题意:你一开始有1元钱,接下来又n<=30个问题,只需答对1个问题手上的钱就翻倍,最多答对n个,得到的钱是2n.而每个问题答对的概率是[t,1]之间平均分布,那么问最优情况下得到奖金的期望值是多 ...
随机推荐
- 生成Base58格式的UUID(Hibernate Base64格式的UUID续)
Base58简介 Base58采用的字符集合为“123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ”,从这不难看出,Base58是纯数 ...
- jquery easyui的方法参数
1.form 表单的参数有:submit,validate,clear,load 2.submit 例如: $('#goods-add').form('submit', { url : url, on ...
- UVa 10900 So you want to be a 2n-aire? (概率DP,数学)
题意:一 个答题赢奖金的问题,玩家初始的金额为1,给出n,表示有n道题目,t表示说答对一道题目的概率在t到1之间,每次面对一道题,可以选择结束游戏, 获得当 前奖金:回答下一道问题,答对的概率p在t到 ...
- spring mvc 详细执行流程
名词解释 DispatcherServlet:整个spring MVC的前端控制器,由它来接管来自客户端的请求. HandlerMapping:DispatcherServlet会通过它来处理客户端请 ...
- 十六进制转十进制 - C
我们经常碰到16进制数转10进制的情况,使用下面的C程序即可完成上述工作. 那么他是怎样的工作原理呢? 6.2.5 十六进制数转换成十进制数 16进制就是逢16进1,但我们只有0~9这十个数字,所以我 ...
- VS2012与NUnit
微软提供的NUnit插件是针对vs2010的,而vs2012会自动识别,测试环境为64位win7,具体操作步骤如下 1.下载安装NUnit(NUnit-2.6.3.msi) 2.新建测试项目UnitT ...
- python常用字符串操作
#!/usr/bin/env python name='cunzhang' print(name.capitalize())#首字母大写 print(name.count('n'))#统计字符有几个 ...
- PostgreSQL的 initdb 源代码分析之十七
继续分析: setup_collation() 展开: /* * populate pg_collation */ static void setup_collation(void) { #if de ...
- 【甘道夫】HBase(0.96以上版本号)过滤器Filter具体解释及实例代码
说明: 本文參考官方Ref Guide,Developer API和众多博客.并结合实測代码编写.具体总结HBase的Filter功能,并附上每类Filter的对应代码实现. 本文尽量遵从Ref Gu ...
- [GIF] The Phase Property in GIF Loop Coder
In this lesson, we look at one of the most powerful features in GIF Loop Coder, the phase property, ...