【LeetCode】Day188-分汤
创始人
2024-02-04 21:52:08
0

题目

808. 分汤【中等】

题解

动态规划

由于四种分配操作都是25的倍数,因此可以先将n同除以25,四种分配操作变成(4,0),(3,1),(2,2),(1,3),且每种分配概率为0.25。
n较小时,可以用动态规划解决,

  1. 状态定义:dp[i][j] 表示汤 A 和汤 B 分别剩下 i 和 j 份时的所求概率值。
  2. 状态转移方程:四种分配操作
    dp[i][j]=1/4(dp[i−4][j]+dp[i−3][j−1]+dp[i−2][j−2]+dp[i−1][j−3])dp[i][j]=1/4(dp[i-4][j]+dp[i-3][j-1]+dp[i-2][j-2]+dp[i-1][j-3])dp[i][j]=1/4(dp[i−4][j]+dp[i−3][j−1]+dp[i−2][j−2]+dp[i−1][j−3])
  3. 初始条件
    i>0,j=0:B分配完了,但A没有,此时A也无法分配了,dp[i][j]=0+0=0
    i=0,j=0:A,B同时分配完,因此dp[i][j]=0+0.5*1=0.5
    i=0,j>0:A分配完了,而B还没有,根据四种分配操作B也没法分配了,所以A先分配完的概率为1,dp[i][j]=1+0=1
  4. 返回值:dp[n][n]

动态规划的时间复杂度为O(n2)O(n^2)O(n2),除以25之后依然无法在短时间内得到答案
计算A先分配完的数学期望E(A)=(4+3+2+1)*0.25=2.5,B先分配完的数学期望E(B)=(0+1+2+3)*0.25=1.5,当n非常大时,认为A先被分配完的概率接近于1
动态规划可得这个很大的n的临界值为4475(=179*25),所以n大于这个值时,直接返回概率1

class Solution {public double soupServings(int n) {n=(int)Math.ceil((double)n/25);//ceil天花板取整if(n>179)return 1;double[][] dp=new double[n+1][n+1];dp[0][0]=0.5;for(int i=1;i<=n;i++)dp[0][i]=1;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){dp[i][j]=(dp[Math.max(0,i-4)][j]+dp[Math.max(0,i-3)][Math.max(0,j-1)]+dp[Math.max(0,i-2)][Math.max(0,j-2)]+dp[Math.max(0,i-1)][Math.max(0,j-3)])/4.0;}}return dp[n][n];}
}

时间复杂度:O(C2)O(C^2)O(C2)

空间复杂度:O(C2)O(C^2)O(C2)

相关内容

热门资讯

林诗栋双线作战均终结“黑马” ... 北京时间8月21日晚,正在瑞典马尔默进行的WTT欧洲大满贯展开混双半决赛争夺。头号种子林诗栋/蒯曼直...
引援大手笔!利物浦1.3亿求购... 在这个充满竞争的夏季转会窗口,利物浦似乎准备在引援方面大展拳脚。据《太阳报》独家报道,红军已经批准了...
把法律条文变成孩子们听得懂的话... 深圳商报·读创客户端首席记者 张玮玮 通讯员 庞小春 文/图 近日,深圳市光明区人民法院干警应邀到光...
前7个月广义财政支出超21万亿... 更加积极财政政策陆续落地,推动经济平稳运行。 根据财政部最新数据,今年前7个月广义财政(全国一般公共...
顺发恒能股份:关联方资金往来及... 8月21日,顺发恒能股份公司发布公告,其关联方资金往来及对外担保管理制度修订内容已经公司2025年8...
美联储政策框架巨变在即:稳通胀... 鲍威尔周五要放大招!美联储货币政策新框架即将出炉,新框架可能强调稳定通胀是良好就业市场的基础,重塑政...
深圳市人社局提醒:第一代社保卡... 近日,深圳市人力资源和社会保障局提醒,目前我市正在发行第三代加载金融功能的社会保障卡,第一代社保卡已...
锐明技术发布对外担保管理制度,... 2025年8月21日,锐明技术发布公告,公布了其对外担保管理制度。 该制度旨在规范深圳市锐明技术股份...
芜湖福赛科技股份有限公司发布对... 2025年8月21日,芜湖福赛科技股份有限公司发布公告,公布其对外担保管理制度。 该制度旨在规范公司...
并购贷款政策十年大修: 参股型... [ 《办法》将占并购交易价款的比例上限从60%提升至70%,要求权益性资金不低于30%;参股型并购贷...