#P1002. 破解“深层麻痹” (Breaking the Spot)
破解“深层麻痹” (Breaking the Spot)
题目背景

越前龙马的眼睛受伤,必须在 秒内结束这一局比赛。 但这局比赛的情况比想象中更复杂。如果是龙马发球,他可以利用外旋发球掌握节奏;但如果是伊武深司发球,深司会利用“侧旋发球”和“指尖球”诱导龙马上下跑动,造成龙马手臂暂时麻痹(Spot状态),这会严重影响龙马的击球质量和比赛时间。
你需要帮龙马做出决策:在每一球的较量中,是冒险强攻,还是稳妥防守,才能让在规定时间内获胜的概率最大?
题目描述
当前局分为龙马得分 和深司得分 。 剩余总时间为 秒。 比赛规则遵循标准网球规则(4球胜,40-40为Deuce,需净胜2球,第一球得15分,第二球得30分,第三球得40分,第四球赢了就是得了“Adv”)。
龙马在每一回合依然有两种策略:
- 策略 A(强攻/外旋发球):基础耗时 ,基础胜率 。
- 策略 B(拉锯/基本步伐):基础耗时 ,基础胜率 。
【发球局的影响】 输入包含一个变量 :
-
(龙马发球): 龙马完全掌握主动,策略 A 和 B 的耗时与胜率保持原样。
-
(深司发球): 深司利用“麻痹战术”压制龙马,Who = 1 的情况下龙马会受到以下影响:
- 如果龙马选择 策略 A(强攻):由于手臂麻痹,精准度大幅下降,胜率 变为原来的 (即 ),但耗时 不变。
- 如果龙马选择 策略 B(拉锯):深司会故意拖慢节奏,导致每一球的耗时增加 5 秒(即 ),但胜率 不受影响(因为龙马靠毅力死守)。
请计算龙马在最优决策下的最大获胜概率。
输入格式
第一行:两个字符串 ,代表当前比分("0", "15", "30", "40", "Adv")。 第二行:一个整数 ,代表剩余时间(秒)。 第三行:一个整数 (0 或 1)。 第四行:四个数 (含义同上,整数为时间,浮点数为概率)。
输出格式
一个浮点数,保留 5 位小数。
样例数据
样例 1 (绝杀局)
输入:
40 30
15
0
10 0.5 20 0.9
输出:
0.50000
样例解释:
- 局势:40-30,差1球赢。时间15。
- 策略B需20s,时间不够(15<20),胜率0。
- 策略A需10s,时间够。
- 赢(0.5) 胜利。
- 输(0.5) 40-40,剩余5s。
- 下一球A需10s,B需20s,时间均不够,必输。
- 总概率 = 。
样例 2 (深司发球压制)
输入:
40 30
25
1
10 0.8 15 0.9
输出:
0.90000
样例解释:
- 修正:,。
- 时间25。
- 策略B(20s, 0.9):
- 赢(0.9) 胜利。
- 输(0.1) 40-40,剩余5s 下一球无法打 输。
- 期望 = 0.9。
- 策略A(10s, 0.64):
- 赢(0.64) 胜利。
- 输(0.36) 40-40,剩余15s。
- 此时只能打A(10s),B(20s)不够。
- 打A:赢 Adv-40(需再赢1球),时间剩5s 必输。
- 故40-40时胜率为0。
- 期望 = 0.64。
- Max(0.9, 0.64) = 0.9。
样例 3 (Deuce 拉锯)
输入:
40 40
25
0
10 0.5 30 1.0
输出:
0.25000
样例解释:
- 30s的策略B完全不可用。只能一直用A(10s, 0.5)。
- 第一球(剩25s):
- 赢(0.5) Adv-40 (剩15s)。
- 第二球(剩15s):
- 赢(0.5) 胜利。
- 输(0.5) 40-40 (剩5s) 必输。
- 分支概率:。
- 第二球(剩15s):
- 输(0.5) 40-Adv (剩15s)。
- 第二球(剩15s):
- 赢(0.5) 40-40 (剩5s) 必输。
- 输(0.5) 输。
- 分支概率:0。
- 第二球(剩15s):
- 赢(0.5) Adv-40 (剩15s)。
- 总概率 = 0.25。
说明/提示
放心,T的大小不会超过600s,超过600s就不符合原剧情了
相关
在下列比赛中: