AT_abc314_e [ABC314E] Roulettes
题目描述
有 $N$ 台轮盘。第 $i$ 台轮盘($1\leq i\leq N$)上写有 $P_i$ 个整数 $S_{i,1},S_{i,2},\ldots,S_{i,P_i}$,每次支付 $C_i$ 日元可以玩一次。每玩一次第 $i$ 台轮盘,会等概率随机选出 $1$ 到 $P_i$ 之间的一个整数 $j$,获得 $S_{i,j}$ 分。
每次轮盘获得的分数相互独立。
高桥君想要获得至少 $M$ 分。高桥君会采取使得在获得至少 $M$ 分之前所支付金额尽可能小的策略。并且,高桥君每次玩轮盘时,可以根据之前所有轮盘的结果选择下一次要玩的轮盘。
请计算高桥君在获得至少 $M$ 分之前所支付金额的期望值。
更严格地说,定义如下。对于每一种高桥君选择轮盘的策略,按照该策略,在获得至少 $M$ 分或玩了 $X$ 次轮盘之前所支付金额的期望为 $f(X)$,则 $E=\displaystyle\lim_{X\to+\infty}f(X)$。
可以证明,在本题条件下,无论高桥君采取何种策略,$\displaystyle\lim_{X\to+\infty}f(X)$ 都是有限的。请输出当高桥君采取使 $E$ 最小的策略时,$E$ 的值。
输入格式
输入按以下格式从标准输入给出。
> $N$ $M$
> $C_1$ $P_1$ $S_{1,1}$ $S_{1,2}$ $\ldots$ $S_{1,P_1}$
> $C_2$ $P_2$ $S_{2,1}$ $S_{2,2}$ $\ldots$ $S_{2,P_2}$
> $\vdots$
> $C_N$ $P_N$ $S_{N,1}$ $S_{N,2}$ $\ldots$ $S_{N,P_N}$
输出格式
请输出高桥君在获得至少 $M$ 分之前所支付金额的期望值,输出一行。只要输出的值与真实值的相对误差或绝对误差不超过 $10^{-5}$,即可判定为正确。
说明/提示
### 约束条件
- $1\leq N\leq 100$
- $1\leq M\leq 100$
- $1\leq C_i\leq 10^4\ (1\leq i\leq N)$
- $1\leq P_i\leq 100\ (1\leq i\leq N)$
- $0\leq S_{i,j}\leq M\ (1\leq i\leq N,1\leq j\leq P_i)$
- $\displaystyle\sum_{j=1}^{P_i}S_{i,j}>0\ (1\leq i\leq N)$
- 输入均为整数
### 样例解释 1
例如,高桥君可以按如下方式玩轮盘:
- 支付 $50$ 日元玩第 $2$ 台轮盘,获得 $S_{2,4}=8$ 分。
- 支付 $50$ 日元玩第 $2$ 台轮盘,获得 $S_{2,1}=1$ 分。
- 支付 $100$ 日元玩第 $1$ 台轮盘,获得 $S_{1,1}=5$ 分。此时获得的总分为 $8+1+5\geq 14$,因此结束。
在这个例子中,获得 $14$ 分共支付了 $200$ 日元。只要输出的值与真实值的相对误差或绝对误差不超过 $10^{-5}$,如 `215.9112` 或 `215.9155`,都可以判定为正确。
### 样例解释 2
一直玩第 $2$ 台轮盘直到获得 $100$ 分是最优策略。
由 ChatGPT 4.1 翻译