题意:
刚开始持有x元钱
将进行M轮赌博
每轮赢得概率为P
赢则赌注翻倍,输则赌注全无
问最优策略下赚得1000000元钱(或以上)的概率。
思路:
搜索:
double chance(int cengshu, int money)
{
if(cengshu== M )
{
if(money>=1000000)
return 1;
if(money>=500000)
return 0.5;
return 0;
}
double chance_now = 0.0;
for(int I = 0; i<= money; i++)

该博客分析了GCJ 2008 APAC比赛中的一道题目,涉及赌博策略问题。初始资金为x元,进行M轮赌博,每轮赢的概率为P,赢则赌资翻倍,输则归零。博主提出使用动态规划(DP)和离散化的方法来求解最优策略下获得1000000元或以上概率的问题。具体策略包括定义dp[i][j]表示初始赌资为2^j元经过i轮后的概率,并通过转移方程进行计算,其中关键在于只使用两层数组记录上一层的状态,确保离散化处理的正确性。

470

被折叠的 条评论
为什么被折叠?



