atcoder#ABC224G. [ABC224G] Roll or Increment

[ABC224G] Roll or Increment

题目描述

1 1 以上 N N 以下の整数の目がそれぞれ等確率でランダムに出る N N 面のサイコロがあります。
以下では、サイコロが整数 X X の目を上にして置かれているとき、サイコロの「出目」が X X であると言います。
はじめ、サイコロは出目が整数 S S になるように置かれています。

このサイコロに対して、「下記の 2 2 つの操作のどちらかを行う」ということを好きな回数( 0 0 回でもよい)だけ行うことができます。

  • A A 円支払い、サイコロの出目の値を 1 1 増やす。すなわち、サイコロの出目が X X のとき、サイコロの出目が X+1 X+1 となるようにサイコロを置き直す。この操作は操作前のサイコロの出目が N N のときは行うことができない。
  • B B 円支払い、サイコロを振り直す。その結果、サイコロの出目は 1 1 以上 N N 以下のいずれかの整数に等確率でランダムに変化する。

サイコロの出目が S S である初期状態から、上記の操作によってサイコロの出目が T T である状態に変化させることを考えます。
そのためにかかる費用の期待値を最小化するために最適な戦略をとるときの、かかる費用の期待値を出力してください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N S S T T A A B B

输出格式

答えを出力せよ。 想定解答との絶対誤差または相対誤差が 105 10^{-5} 以下であれば正解として扱われる。

题目大意

题意

有一个 NN 面的骰子,每个骰子都有相等的概率随机出现 11NN 之间的整数目。

在下文中,我们称骰子 "掷出 " XX ,是指骰子的上面有一个整数 XX 。 最初,骰子的放置方式是掷出一个整数 SS 。 您可以对这些骰子进行 "以下两种操作中的任意一种",次数不限(甚至可以是零次)。

  • 支付 AA 元,掷出的骰子值增加 11。 也就是说,当骰子掷出的原数值是 XX 时,骰子掷出的数值变更为 X+1X + 1 。 如果操作前掷出的骰子是 NN ,则无法执行此操作。
  • 支付 BB 圆并重新掷骰子。 掷出的骰子以相等的概率随机变为 11NN 之间的任意整数。

考虑通过上述操作将骰子从掷出 SS 的初始状态变为掷出 TT 的状态。

输出采取最优策略时的成本的期望值。

输入格式

通过标准输入法输入,格式如下 第一行五个整数, N,S,T,A,BN, S, T, A, B

输出格式

输出成本的期望值,若误差小于等于 10510^{-5} ,则视为正确答案。

5 2 4 10 4
15.0000000000000000
10 6 6 1 2
0.0000000000000000
1000000000 1000000000 1 1000000000 1000000000
1000000000000000000.0000000000000000

提示

制約

  • 1  N  109 1\ \leq\ N\ \leq\ 10^9
  • 1  S, T  N 1\ \leq\ S,\ T\ \leq\ N
  • 1  A, B  109 1\ \leq\ A,\ B\ \leq\ 10^9
  • 入力はすべて整数

Sample Explanation 1

かかる費用の期待値を最小化するために最適な戦略をとるとき、かかる費用の期待値は 15 15 円です。

Sample Explanation 2

初期状態においてすでにサイコロの出目が T T であるため、一度も操作を行う必要がありません。

Sample Explanation 3

想定解答との絶対誤差または相対誤差が 105 10^{-5} 以下であれば正解として扱われます。