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 翻译