AT_abc350_e.[ABC350E] Toward 0
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个整数 N。你可以进行以下两种操作:
- 支付 X 日元。将 N 替换为 ⌊AN⌋。
- 支付 Y 日元。掷一个等概率出现 1 到 6 的骰子,设掷出的点数为 b,将 N 替换为 ⌊bN⌋。
这里 ⌊s⌋ 表示不大于 s 的最大整数。例如,⌊3⌋=3,⌊2.5⌋=2。
请你求出在合理选择操作的情况下,将 N 变为 0 所需支付金额的期望值的最小值。
注意,每次掷骰子的结果都是独立的,并且你可以在每次操作后根据结果决定下一步操作。
输入格式
输入以如下格式从标准输入读入:
N A X Y
输出格式
请输出答案。
当你的答案与真值的绝对误差或相对误差不超过 10−6 时,将被判定为正确。
输入输出样例
输入#1
3 2 10 20
输出#1
20.000000000000000
输入#2
3 2 20 20
输出#2
32.000000000000000
输入#3
314159265358979323 4 223606797 173205080
输出#3
6418410657.7408381
说明/提示
限制条件
- 1≤N≤1018
- 2≤A≤6
- 1≤X,Y≤109
- 输入均为整数
样例解释 1
可进行的操作有以下两种:
- 支付 10 日元。将 N 替换为 ⌊2N⌋。
- 支付 20 日元。掷一个等概率出现 1 到 6 的骰子,设掷出的点数为 b,将 N 替换为 ⌊bN⌋。
最优做法是进行前者操作 2 次。
样例解释 2
可进行的操作有以下两种:
- 支付 20 日元。将 N 替换为 ⌊2N⌋。
- 支付 20 日元。掷一个等概率出现 1 到 6 的骰子,设掷出的点数为 b,将 N 替换为 ⌊bN⌋。
最优的操作如下: - 首先进行后者操作掷骰子。
- 如果掷出 4 及以上,则 N=0。
- 如果掷出 2 或 3,则 N=1,继续进行前者操作即可使 N=0。
- 如果掷出 1,则从头再来。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?