概率DP Spoj4060 game with probability Problem

ROS从入门到精通2-1:机器人3D可视化工具——Rviz 本文详细介绍了Rviz是什么?为什么要使用这个工具?清晰地列出了Rviz的安装流程和界面的基本功能元素;讲解了Rviz基本数据类型与话题,并用两个实例深入理解Rviz数据可视化的过程 阅读详情

问题 A: Spoj4060 game with probability Problem
时间限制: 1 Sec 内存限制: 128 MB
题目描述
Alice和Bob在玩一个游戏。有n个石子在这里,Alice和Bob轮流投掷硬币,如果正面朝上,则从n个石子中取出一个石子,否则不做任何事。取到最后一颗石子的人胜利。Alice在投掷硬币时有p的概率投掷出他想投的一面,同样,Bob有q的概率投掷出他相投的一面。
现在Alice先手投掷硬币,假设他们都想赢得游戏,问你Alice胜利的概率为多少。
输入
第一行一个正整数t,表示数据组数。
对于每组数据,一行三个数n,p,q。
输出
对于每组数据输出一行一个实数,表示Alice胜利的概率,保留6位小数。
样例输入
1
1 0.5 0.5
样例输出
0.666667
提示
数据范围:
1<=t<=50
0.5<=p,q<=0.99999999
对于100%的数据 1<=n<=99999999

设f[i]为还剩i个石头,Alice先手的胜率;g[i]为还剩i个石头,Alice后手的胜率。
考虑逆退,从i-1块转移过来。
分情况考虑.
1,g[i-1]>f[i-1],那么两人都想取得拿下块石头的后手权,那么就要自己拿掉这块石头,对方就成了下一块的先手。但是可能掷不出自己想要的正面。。那么就变成了剩i块石头的后手。
所以 f[i-1]=p*g[i-1]+(1-p)*g[i];
g[i-1]=q*f[i-1]+(1-q)*f[i];
两个联立一下就出来了。
2,f[i-1]>g[i-1],这样就变成了想要在这里后手,那么换一下就行了。
而最初始,g[0]=1,f[0]=0.一个也不剩时先手必输
n太大怎么处理:有人说乘到10000次概率就几乎不变了,而实际上50次就够了。。。落差好大。这种地方就要靠往昔的经验了。

#include <cstdio>
int T,n;double p,q,f[51],g[51];
int main()
{
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d%lf%lf",&n,&p,&q);
        g[0]=1.0;if(n>50)n=50;
        for(int i=1;i<=n;i++)
            if(g[i-1]>f[i-1])f[i]=(p*g[i-1]+(1.0-p)*q*f[i-1])/(p+q-p*q),g[i]=(q*f[i-1]+(1.0-q)*p*g[i-1])/(p+q-p*q);
            else f[i]=((1.0-p)*g[i-1]+p*(1.0-q)*f[i-1])/(1.0-p*q),g[i]=((1.0-q)*f[i-1]+q*(1.0-p)*g[i-1])/(1.0-p*q);
        printf("%.6lf\n",f[n]);
    }
}
网络分析工具Wireshark系列专栏:01-专栏导读 随着人工智能技术的普及,越来越多的博主开始利用AI进行内容创作,导致优快云等平台上充斥着大量低质量的洗稿文章,严重影响了技术软文的质量和可信度。为了应对这一现象,提升技术内容的质量,瑞哥决定推出系列技术专栏,为大家带来系统、深入且高质量的技术学习资源。这些专栏将帮助读者从入门到精通,特别适合习惯通过文档学习的技术爱好者。作为首个专栏,我们将聚焦于Wireshark——一款广受欢迎的网络协议分析工具。根据优快云后台的反馈,许多读者表示Wireshark是他们欠缺的一项技能。因此,本专栏将通过精心设计的课程 阅读详情

相关推荐

Wafer的T7 Code是什么,怎么来的

在半导体Cim系统中,waferstart 业务需要支持 Sorter 读取 Wafer 的 T7 Code,与 MES 的 Wafer ID 进行绑定,以便向 前追溯 Wafer 历史,那么问题来了,T7code 是什么Wafer的T7 Code是一种,用于标识双面抛光的晶圆。这种标记采用二维矩阵代码符号,适用于各种尺寸的晶圆,不仅限于450mm无缺口晶圆7。T7 Code是衬底来料背面通常会有的供应商刻的追溯ID,这是一串数字和字母组成的流水码。

阿拉伯梳子的专栏 7924

game with probability problem

两个人 A, B 取 n 枚石子,祂们轮流抛硬币 (A 先手),每次抛硬币,如果是正面,就取出一枚石子,否则什么都不做,然而 A, B 有一种超能力,在抛硬币前在意志中确定一面 (正面或反面),然后就有 pA 或 pB 的概率抛出意志中的那一面 (当然,常人的 p = 0.5)。取得最后一枚石子的人获胜。假如 A, B 都采取最佳策略,求 A 获胜的概率,其中 pA, pB ≥ 0....

143

告别两个电源模块!用UCD3138+四开关Buck-Boost,一个电路搞定电池充放电(附原理图分析)

本文详细介绍了采用UCD3138数字控制器和四开关Buck-Boost拓扑的双向DC/DC变换器设计,实现单一电路完成电池智能充放电管理。该方案显著降低BOM成本和PCB面积,提升系统效率至96.2%,适用于UPS、通信基站和储能系统,具有高效、紧凑和成本优势。

weixin_30256901的博客 397

BZOJ_P2318 SPOJ4060 game with probability Problem(概率动态规划)

BZOJ传送门 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 224 Solved: 95 [Submit][Status][Discuss] Description Alice和Bob在玩一个游戏。有n个石子在这里,Alice和Bob轮流投掷硬币,如果正面朝上,则从n个石子中取出一个石子,否则不做任何事。取到最后一颗石子的人胜利。Ali

BeiYu 527

高阶玩法——Dify生成的数据自动写入mysql数据库

采用自定义工具方式,利用 python编写一个服务sql_save_post,将接收到的内容写入指定数据库的表中,并为该服务撰写一个 OpenAPI 的 schema。配置工作流:我们以写入天气预报为例,在生成天气预报内容后,连接自定义工具“sql_save_post”,将所需的字段配置完成后,实现将生成的内容自动写入mysql数据库中。编写OpenAPI的schema:在dify平台的工具栏目,创建自定义工具,输入工具名称“sql_save_post”。工具:sql_save_post;

qq_44493378的博客 8539

纯相位全息图优化算法综述

除此之外,还有许多用于减少斑点噪声的非迭代方法,例如:采用下采样掩膜的采样纯相位全息图(Sampled-Phase-only Hologram)方法、模式化相位掩膜(Patterned Phase-Only Hologram)方法、双相位方法(Double-Phase Method),以及使用非随机相位掩膜的方法(Random Phase-Free Method)等。迭代算法通常由一个对目标全息图的近似出发,经过一系列的重复操作不断优化这个近似全息图,直到该近似所得到的重建图像满足一定的误差要求;

ZhongKeWeiXing的博客 1427

Game with probability Problem

Description Alice和Bob在玩一个游戏。有n个石子在这里,Alice和Bob轮流投掷硬币,如果正面朝上,则从n个石子中取出一个石子,否则不做任何事。取到最后一颗石子的人胜利。Alice在投掷硬币时有p的概率投掷出他想投的一面,同样,Bob有q的概率投掷出他相投的一面。 现在Alice先手投掷硬币,假设他们都想赢得游戏,问你Alice胜利的概率为多少。 Input 第一行

Anonymity的博客 580

舵机操作手册

微型伺服马达原理与控制(中鸣) 1、微型伺服马达内部结构一个微型伺服马达内部包括了一个小型直流马达;一组变速齿轮组;一个反馈可调电位器;及一块电子控制板。其中,高速转动的直流马达提供了原始动力,带动变速(减速)齿轮组,使之产生高扭力的输出,齿轮组的变速比愈大,伺服马达的输出扭力也愈大,也就是说越能承受更大的重量,但转动的速度也愈低。 2、微行伺服马达的工作原理一个微型伺服马达是一个典型闭环反馈系统,其原理可由下图表示: 减速齿轮组由马达驱动,其终端(输出端)带动一个线性的比例电位器作位置检测,该电位器把

HEIMENGER的博客 3136

bzoj 2318 spoj 4060(KPGAME)

Description Alice和Bob在玩一个游戏。有n个石子在这里,Alice和Bob轮流投掷硬币,如果正面朝上,则从n个石子中取出一个石子,否则不做任何事。取到最后一颗石子的人胜利。Alice在投掷硬币时有p的概率投掷出他想投的一面,同样,Bob有q的概率投掷出他相投的一面。 现在Alice先手投掷硬币,假设他们都想赢得游戏,问你Alice胜利的概率为多少。Solution 设f[i]

mlzmlz95的专栏 893

手把手教你学Simulink--基于Simulink的微电网用DC-DC变换器仿真建模

微电网概述微电网:包括可再生能源发电设备、储能系统和负载,可以独立于大电网运行,也可以并网运行。重要性提高能源可靠性:通过本地化供电减少对外部电网的依赖。促进可再生能源利用:支持高效整合多种可再生能源。挑战多源管理:不同类型的能源产生方式各异,需设计灵活的电源管理系统。能量转换效率:需要高效的能量转换装置来确保能源的有效利用。通过上述步骤,我们简要介绍了如何基于Simulink进行微电网中DC-DC变换器的仿真建模。

MHD0815的博客 161

华为OD机试真题-国际移动用户识别码(IMSI)匹配

华为OD机试双机位C卷 国际移动用户识别码(IMSI)匹配 , 提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试 - 国际移动用户识别码(IMSI)匹配

qq_45776114的博客 4925

【bzoj2318】Spoj4060 game with probability Problem

Description Alice和Bob在玩一个游戏。有n个石子在这里,Alice和Bob轮流投掷硬币,如果正面朝上,则从n个石子中取出一个石子,否则不做任何事。取到最后一颗石子的人胜利。Alice在投掷硬币时有p的概率投掷出他想投的一面,同样,Bob有q的概率投掷出他相投的一面。 现在Alice先手投掷硬币,假设他们都想赢得游戏,问你Alice胜利的概率为多少。 Input 第一行一个正整数t,表示数据组数。 对于每组数据,一行三个数n,p,q。 Output 对于每组数据输出一行一个实数,表示Al

tylon2006的博客 234

PCL 基于超体素的点云分割【2024最新版】

点云超体素分割原理介绍、代码实现以及如何做到将每一个超体素内的点进行单独保存而不造成点云缺失的方法。博客长期更新,本文最近一次更新时间为:2024年12月29日。

点云侠的博客 36万+

【BZOJ2318】【spoj4060】game with probability Problem 概率DP

题解: fif_i 表示剩 ii 个石头、 AA 先手的获胜概率。 gig_i 表示剩 ii 个石头、 AA 后手的获胜概率。 如果想选,对于 fif_i: 有 pp 的概率进入 gi−1g_{i-1} ;有 1−p1-p 的概率进入 gig_i 所以 fi=p∗gi−1+(1−p)∗gif_i=p*g_{i-1}+(1-p)*g_i 如果想选,对于 g(i)g(i): 有 qq 的

辗转山河弋流歌 2637

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

BZOJ2318. Spoj4060 game with probability Problem(概率DP)

题目描述 Alice and Bob play the following game. First, they collect N small stones and put them together in one pile. After that, they throw a coin one by one. Alice starts first. If a player throws heads...

tomjobs的博客 609

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

[BZOJ2318]Spoj4060 game with probability Problem(概率dp)

题目描述传送门题解读错题了T_T f(i,0)表示有i个石子Alice先手赢的概率,f(i,1)表示有i个石子Alice后手赢的概率如果有i-1个石子的时候Alice后手比先手更优,Bob先手比后手更优: 若现在Alice先手,那么她一定想拿掷正面拿走石子,f(i,0)=p*f(i-1,0)+(1-p)*f(i,1) 若现在Bob先手,他同样想掷正面,f(i,1)=q*f(i-1,1)+(1-

zyf2000 924

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【bzoj2318】Spoj4060 game with probability Problem 概率dp

题目描述 Alice和Bob在玩一个游戏。有n个石子在这里,Alice和Bob轮流投掷硬币,如果正面朝上,则从n个石子中取出一个石子,否则不做任何事。取到最后一颗石子的人胜利。Alice在投掷硬币时有p的概率投掷出他想投的一面,同样,Bob有q的概率投掷出他相投的一面。 现在Alice先手投掷硬币,假设他们都想赢得游戏,问你Alice胜利的概率为多少。 输入 第一行一个正整

syyer 505

【BZOJ】【P2318】【Spoj4060 game with probability Problem】【题解】【概率DP】

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2318 Code: #include using namespace std; int main(){ int T,n; double p,q; static double f[1002],g[1002]; cin>>T; while(T--){ cin>>n>>p>

退役狗的专栏 1366

[BZOJ2318][SPOJ4060]Game with probability Problem 概率DP

设f[i]为还剩i个石子,A为先手,A获胜的概率; 设g[i]为还剩i个石子,A为后手,A获胜的概率。 先不管p,q。设当有i个石子时,A取走的概率为x,B取走的概率为y。 那么f[i]=x* g[i-1]+(1-x)* g[i];g[i]=y* f[i-1]+(1-y)* f[i]。 联立解得f[i]=(x* g[i-1]+(1-x)* y* f[i-1])/(1-(1-x)* (1-y)

DOFYPXY的博客 417

BZOJ 2318 Spoj4060 game with probability Problem 概率DP

BZOJ 2318 Spoj4060 game with probability Problem 题目描述 Description Alice和Bob在玩一个游戏。有n个石子在这里,Alice和Bob轮流投掷硬币,如果正面朝上,则从n个石子中取出一个石子,否则不做任何事。取到最后一颗石子的人胜利。Alice在投掷硬币时有p的概率投掷出他想投的一面,同样,Bob有q的概率投掷出他相投的一面。 ...

Chlience的博客 442

【bzoj2318】Spoj4060 game with probability Problem 概率dp

题目描述 Alice和Bob在玩一个游戏。有n个石子在这里,Alice和Bob轮流投掷硬币,如果正面朝上,则从n个石子中取出一个石子,否则不做任何事。取到最后一颗石子的人胜利。Alice在投掷硬币时有p的概率投掷出他想投的一面,同样,Bob有q的概率投掷出他相投的一面。 现在Alice先手投掷硬币,假设他们都想赢得游戏,问你Alice胜利的概率为多少。 输入 第一行一个正整数t,...

weixin_30662109的博客 70

BZOJ 2318: Spoj4060 game with probability Problem( 概率dp )

概率dp...http://blog.youkuaiyun.com/Vmurder/article/details/46467899 ( from :[辗转山河弋流歌 by 空灰冰魂] )这个讲得很好 , 推推公式就可以 O( n ) , 但是 n 最大是99999999 , 怎么破....其实 n 很大时概率基本不动了...所以只需计算到某一个较大值时就可以停下来了...----------------...

weixin_30553065的博客 105

bzoj 2318: Spoj4060 game with probability Problem (概率与期望DP)

2318: Spoj4060 game with probability Problem Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 362  Solved: 167 [Submit][Status][Discuss] Description Alice和Bob在玩一个游戏。有n个石子在这里,Alice和Bob轮流投掷硬币,如果

clover_hxy的博客 640

【BZOJ 2318】 2318: Spoj4060 game with probability Problem(概率DP)

2318: Spoj4060 game with probability Problem Time Limit:1 SecMemory Limit:128 MBSubmit:371Solved:173 Description Alice和Bob在玩一个游戏。有n个石子在这里,Alice和Bob轮流投掷硬币,如果正面朝上,则从n个石子中取出一个石子,否则不做任...

weixin_30555515的博客 88

Spoj4060 game with probability Problem

题目链接:Click here Solution: 刚开始还以为博弈论加概率,然而并不是... 设两个状态:\(f(i)\)表示当前剩下\(i\)个石头时,先手的获胜概率,\(g(i)\)为后手的获胜概率(注:先后手定义参照博弈论。。。) 我们再设\(p'\)表示\(A\)抛硬币为正面朝上的概率,\(q'\)表示\(B\)抛硬币为正面朝上的概率,则易得转移式: \[ f(i)=p'g(i-1)+(...

weixin_30241919的博客 100
上一篇: 树规 [Heoi2013]Sao
下一篇: 树规+二分 [Poi2011]Dynamite
QTY_
博客等级 码龄9年 13粉丝 211原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值